Python Plugin: Growatt Inverter
Moderator: leecollings
- Dnpwwo
- Posts: 819
- Joined: Sunday 23 March 2014 9:00
- Target OS: Raspberry Pi / ODroid
- Domoticz version: Beta
- Location: Melbourne, Australia
- Contact:
Re: Python Plugin: Growatt Inverter
@sincze,
Set the Domoticz debug to 126 (Basic+Messages) so you can see what you are sending and getting back.
Set the Domoticz debug to 126 (Basic+Messages) so you can see what you are sending and getting back.
The reasonable man adapts himself to the world; the unreasonable one persists to adapt the world to himself. Therefore all progress depends on the unreasonable man. George Bernard Shaw
- sincze
- Posts: 1300
- Joined: Monday 02 June 2014 22:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.4
- Location: Netherlands / Breda Area
- Contact:
Re: Python Plugin: Growatt Inverter
It seems it runs 1 time correctly.

The second run the variables of JSESSIONID and SERVERID are empty.
Code: Select all
2019-08-22 11:29:20.950 (Growatt) 50 4f 53 54 20 2f 6e 65 77 54 77 6f 50 6c 61 6e 74 41 50 49 POST./newTwoPlantAPI
2019-08-22 11:29:20.950 (Growatt) 2e 64 6f 3f 6f 70 3d 67 65 74 55 73 65 72 43 65 6e 74 65 72 .do?op=getUserCenter
2019-08-22 11:29:20.950 (Growatt) 45 6e 65 72 74 79 44 61 74 61 42 79 50 6c 61 6e 74 69 64 20 EnertyDataByPlantid.
2019-08-22 11:29:20.950 (Growatt) 48 54 54 50 2f 31 2e 31 0d 0a 43 6f 6f 6b 69 65 3a 20 4a 53 HTTP/1.1..Cookie:.JS
2019-08-22 11:29:20.950 (Growatt) 45 53 53 49 4f 4e 49 44 3d 0d 0a 43 6f 6f 6b 69 65 3a 20 53 ESSIONID=..Cookie:.S
2019-08-22 11:29:20.950 (Growatt) 45 52 56 45 52 49 44 3d 0d 0a 55 73 65 72 2d 41 67 65 6e 74 ERVERID=..User-Agent
2019-08-22 11:29:20.950 (Growatt) 3a 20 44 6f 6d 6f 74 69 63 7a 2f 31 2e 30 0d 0a 48 6f 73 74 :.Domoticz/1.0..Host
2019-08-22 11:29:20.950 (Growatt) 3a 20 73 65 72 76 65 72 2d 61 70 69 2e 67 72 6f 77 61 74 74 :.server-api.growatt
2019-08-22 11:29:20.951 (Growatt) 2e 63 6f 6d 0d 0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 6b 65 .com..Connection:.ke
2019-08-22 11:29:20.951 (Growatt) 65 70 2d 61 6c 69 76 65 0d 0a 43 6f 6e 74 65 6e 74 2d 54 79 ep-alive..Content-Ty
2019-08-22 11:29:20.951 (Growatt) 70 65 3a 20 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 2d 77 77 pe:.application/x-ww
2019-08-22 11:29:20.951 (Growatt) 77 2d 66 6f 72 6d 2d 75 72 6c 65 6e 63 6f 64 65 64 3b 20 63 w-form-urlencoded;.c
2019-08-22 11:29:20.951 (Growatt) 68 61 72 73 65 74 3d 75 74 66 2d 38 0d 0a 41 63 63 65 70 74 harset=utf-8..Accept
2019-08-22 11:29:20.951 (Growatt) 2d 45 6e 63 6f 64 69 6e 67 3a 20 67 7a 69 70 0d 0a 43 6f 6e -Encoding:.gzip..Con
2019-08-22 11:29:20.951 (Growatt) 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 32 35 0d 0a 0d 0a 70 tent-Length:.25....p
2019-08-22 11:29:20.951 (Growatt) 6c 61 6e 74 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..75 61 lantId=******&langua
2019-08-22 11:29:20.951 (Growatt) 67 65 3d 31 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ge=1
The Plugin starts...
on_start -> on_connect (perform login) -> onmessage (retrieve the cookie) -> execute data retrieval. (it works 1 time indeed).
If the last action was 'data retrieval' and I do have the cookie, I could execute the data retrieval again?
Or should I wait out the heartbeat 5,4,3,2,1 and start over?
What is best?
Sorry for the questions, but I am trying to learn here

Pass2php
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
- sincze
- Posts: 1300
- Joined: Monday 02 June 2014 22:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.4
- Location: Netherlands / Breda Area
- Contact:
Re: Python Plugin: Growatt Inverter
@Dnpwwo: first data is received. I shuffled a little with order of the if statements in the onmessage function of the Plugin.
Unfortunately.... the Raspberry Pi crashed.
Luckily... I made a backup.
Reinstalling Pi
Code: Select all
2019-08-22 22:01:20.747 (Growatt3) Retrieved following json: {"monthValue": "282.2", "optimezerMap": {"isHaveOptimezer": 0}, "weatherMap": {"cond_txt": "Sunny", "msg": "", "cond_code": "100", "success": true, "tmp": "22"}, "eventMessBeanList": [], "powerValue": "0.0", "formulaCoalStr": "784.1kg", "plantNumber": 1, "treeValue": "108422.7", "totalStr": "1960.2kWh", "nominalPowerValue": "4000.0", "totalValue": "1960.2", "yearStr": "0kWh",...... "alarmValue": 0, "treeStr": "108422.7", "todayValue": "17.5"}
2019-08-22 22:01:20.747 (Growatt3) Currently producing: 0.0 Watt. Totall produced: 1960.2 kWh


Luckily... I made a backup.

Reinstalling Pi

Pass2php
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
- Dnpwwo
- Posts: 819
- Joined: Sunday 23 March 2014 9:00
- Target OS: Raspberry Pi / ODroid
- Domoticz version: Beta
- Location: Melbourne, Australia
- Contact:
Re: Python Plugin: Growatt Inverter
@sincze,
I'm not sure the server sends the cookies back in every response. Cookies have an expiry time and I believe the web browser (or plugin in your case) is supposed to hold on to them locally until they expire. Sounds like you need to create a local variable holding the cookie list and add it to you sends.
Hard to know without seeing the code
I'm not sure the server sends the cookies back in every response. Cookies have an expiry time and I believe the web browser (or plugin in your case) is supposed to hold on to them locally until they expire. Sounds like you need to create a local variable holding the cookie list and add it to you sends.
Hard to know without seeing the code
The reasonable man adapts himself to the world; the unreasonable one persists to adapt the world to himself. Therefore all progress depends on the unreasonable man. George Bernard Shaw
- sincze
- Posts: 1300
- Joined: Monday 02 June 2014 22:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.4
- Location: Netherlands / Breda Area
- Contact:
Re: Python Plugin: Growatt Inverter
A big thnx to @Dnpwwo for his support, we now have the initial data.
So keep on trying willl eventually ge you there. (with the help of fellow forum members)
It would be nice if I could figure out how to do an inital request to retrieve the deviceSN without crashing the plugin. Whilst with that deviceSN I can request additional data like V / A
Let me clean up the initial release and publish that for additional features.
So keep on trying willl eventually ge you there. (with the help of fellow forum members)
It would be nice if I could figure out how to do an inital request to retrieve the deviceSN without crashing the plugin. Whilst with that deviceSN I can request additional data like V / A

Code: Select all
#http://server-api.growatt.com/newTwoPlantAPI.do?op=getAllDeviceList&plantId=*******&content=
#http://server-api.growatt.com/newInverterAPI.do?op=getInverterDetailData_two&inverterId=********'
Pass2php
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
- sincze
- Posts: 1300
- Joined: Monday 02 June 2014 22:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.4
- Location: Netherlands / Breda Area
- Contact:
Re: Python Plugin: Growatt Inverter
The initial release can be evaluated from here:
https://github.com/sincze/Domoticz-Grow ... ver-Plugin
I would still like to add more data that I can retrieve with PHP nicely, so it should be possible via the plugin as well.
But for now I think the first plugin that handles cookies.
https://github.com/sincze/Domoticz-Grow ... ver-Plugin
I would still like to add more data that I can retrieve with PHP nicely, so it should be possible via the plugin as well.

But for now I think the first plugin that handles cookies.

Pass2php
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
-
- Posts: 8
- Joined: Sunday 30 June 2019 23:55
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Python Plugin: Growatt Inverter
He! Would it be possible to make a dummy P1 meter from it?
Also from the picture the today value looks a little bit high... almost the same as my total value for the last 100 days...
https://www.domoticz.com/forum/viewtopi ... tt#p222439
Also from the picture the today value looks a little bit high... almost the same as my total value for the last 100 days...
https://www.domoticz.com/forum/viewtopi ... tt#p222439
- sincze
- Posts: 1300
- Joined: Monday 02 June 2014 22:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.4
- Location: Netherlands / Breda Area
- Contact:
Re: Python Plugin: Growatt Inverter
This is total production since installation. so Is will be corrected tomorrow automatically.
Domoticz works with incremental counters only. If you don't use the total production... the graph of the device will go wrong.
Interesting project let me continue in that thread,Tristan wrote: ↑Sunday 25 August 2019 11:07 He! Would it be possible to make a dummy P1 meter from it?
https://www.domoticz.com/forum/viewtopi ... tt#p222439
Pass2php
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
- sincze
- Posts: 1300
- Joined: Monday 02 June 2014 22:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.4
- Location: Netherlands / Breda Area
- Contact:
Re: Python Plugin: Growatt Inverter
Unfortunately I am unable to extract the device sn using the plugin, it just crashes and freezes the raspberry..
RAW:
Plugin:
....
But if I add a variable to the plugin where you can fill in the SN... I can extract a lot of additional data.
Just a few figures.
RAW:
Code: Select all
GET http://server-api.growatt.com/newTwoPlantAPI.do?op=getAllDeviceList&plantId=******&content= HTTP/1.1
Cookie: JSESSIONID=******; SERVERID=******|******|******
User-Agent: Domoticz/1.0
Host: server-api.growatt.com
Connection: Keep-Alive
Accept-Encoding: gzip
Code: Select all
def apiRequestHeaders_serialnumber(self):
return {
'Verb': 'GET',
'URL': "/newTwoPlantAPI.do?op=getAllDeviceList&plantId=******&content=''",
'Headers' : { 'Connection': 'keep-alive',
'Content-Type': 'text/html;charset=UTF-8',
'Host': 'server-api.growatt.com',
'User-Agent': 'Domoticz/1.0',
'Accept-Encoding': 'gzip',
'Cookie': ['JSESSIONID='+self.sessionId, 'SERVERID='+self.serverId]
},
}
But if I add a variable to the plugin where you can fill in the SN... I can extract a lot of additional data.
Just a few figures.
Pass2php
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
- Dnpwwo
- Posts: 819
- Joined: Sunday 23 March 2014 9:00
- Target OS: Raspberry Pi / ODroid
- Domoticz version: Beta
- Location: Melbourne, Australia
- Contact:
Re: Python Plugin: Growatt Inverter
@sincze,
Can you post the crash log that Domoticz should have dumped when this happens?
HTTP responses haven't caused issue historically so I'd like to know more
Can you post the crash log that Domoticz should have dumped when this happens?
HTTP responses haven't caused issue historically so I'd like to know more
The reasonable man adapts himself to the world; the unreasonable one persists to adapt the world to himself. Therefore all progress depends on the unreasonable man. George Bernard Shaw
- sincze
- Posts: 1300
- Joined: Monday 02 June 2014 22:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.4
- Location: Netherlands / Breda Area
- Contact:
Re: Python Plugin: Growatt Inverter
log that Domoticz mmm
Domoticz and raspberry freeze for 30sec
System freezes.
Is also mentions something has to do with memory
.Fork() command
After 30 sec and sometimes even ssh reconnect I can continue.
Quickly do a Domoticz restart with the offending function removed from the plugin. As that still shows the latest http response .
But let me see what the crashlog says indeed.
Domoticz and raspberry freeze for 30sec
System freezes.
Is also mentions something has to do with memory
.Fork() command
After 30 sec and sometimes even ssh reconnect I can continue.
Quickly do a Domoticz restart with the offending function removed from the plugin. As that still shows the latest http response .
But let me see what the crashlog says indeed.
Pass2php
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
- sincze
- Posts: 1300
- Joined: Monday 02 June 2014 22:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.4
- Location: Netherlands / Breda Area
- Contact:
Re: Python Plugin: Growatt Inverter
Nothing in domoticz crash log.
Function:
Function:
- Spoiler: show
- Spoiler: show
Pass2php
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
- sincze
- Posts: 1300
- Joined: Monday 02 June 2014 22:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.4
- Location: Netherlands / Breda Area
- Contact:
Re: Python Plugin: Growatt Inverter
Any suggestions?
With the enhanced features I currently experience the following issue, after x hours the cookie needs to be renewed:
With the enhanced features I currently experience the following issue, after x hours the cookie needs to be renewed:
Code: Select all
2019-08-29 14:43:59.230 (Growatt-dev) Received 305 bytes of data
2019-08-29 14:43:59.230 (Growatt-dev) 48 54 54 50 2f 31 2e 31 20 33 30 32 20 46 6f 75 6e 64 0d 0a HTTP/1.1.302.Found..
2019-08-29 14:43:59.230 (Growatt-dev) 44 61 74 65 3a 20 54 68 75 2c 20 32 39 20 41 75 67 20 32 30 Date:.Thu,.29.Aug.20
2019-08-29 14:43:59.230 (Growatt-dev) 31 39 20 31 32 3a 34 33 3a 35 39 20 47 4d 54 0d 0a 43 6f 6e 19.12:43:59.GMT..Con
2019-08-29 14:43:59.230 (Growatt-dev) 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 30 0d 0a 43 6f 6e 6e tent-Length:.0..Conn
2019-08-29 14:43:59.230 (Growatt-dev) 65 63 74 69 6f 6e 3a 20 6b 65 65 70 2d 61 6c 69 76 65 0d 0a ection:.keep-alive..
2019-08-29 14:43:59.230 (Growatt-dev) 53 65 74 2d 43 6f 6f 6b 69 65 3a 20 4a 53 45 53 53 49 4f 4e Set-Cookie:.JSESSION
2019-08-29 14:43:59.230 (Growatt-dev) 49 44 3d 45 45 38 39 33 42 41 45 30 33 34 43 37 38 45 44 45 ID=EE893BAE0********
2019-08-29 14:43:59.230 (Growatt-dev) 35 31 35 36 37 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. /.... ********62AC6A3;.Pat
2019-08-29 14:43:59.230 (Growatt-dev) 68 3d 2f 3b 20 48 74 74 70 4f 6e 6c 79 0d 0a 4c 6f 63 61 74 h=/;.HttpOnly..Locat
2019-08-29 14:43:59.230 (Growatt-dev) 69 6f 6e 3a 20 2f 65 72 72 6f 72 2e 64 6f 3f 65 72 72 6f 72 ion:./error.do?error
2019-08-29 14:43:59.230 (Growatt-dev) 4d 65 73 73 3d 65 72 72 6f 72 4e 6f 4c 6f 67 69 6e 0d 0a 53 Mess=errorNoLogin..S
2019-08-29 14:43:59.230 (Growatt-dev) 65 74 2d 43 6f 6f 6b 69 65 3a 20 53 45 52 56 45 52 49 44 3d et-Cookie:.SERVERID=
2019-08-29 14:43:59.231 (Growatt-dev) 30 32 62 66 36 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. /.... ********3706********
2019-08-29 14:43:59.231 (Growatt-dev) 66 34 32 63 33 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. /.... ********9d65|1******
2019-08-29 14:43:59.231 (Growatt-dev) 36 33 39 7c 31 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. /.... ********082639;Path=
2019-08-29 14:43:59.231 (Growatt-dev) 2f 0d 0a 0d 0a .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. /....
2019-08-29 14:43:59.231 (Growatt-dev) HTTP Details (2):
2019-08-29 14:43:59.231 (Growatt-dev) >'Headers':
2019-08-29 14:43:59.231 (Growatt-dev) ---->'Content-Length':'0'
2019-08-29 14:43:59.231 (Growatt-dev) ---->'Location':'/error.do?errorMess=errorNoLogin'
2019-08-29 14:43:59.231 (Growatt-dev) ---->'Connection':'keep-alive'
2019-08-29 14:43:59.231 (Growatt-dev) ---->'Set-Cookie':
2019-08-29 14:43:59.232 (Growatt-dev) --------['JSESSIONID=********************************************; Path=/; HttpOnly']
2019-08-29 14:43:59.232 (Growatt-dev) --------['SERVERID=*********************************************|********|********;Path=/']
2019-08-29 14:43:59.232 (Growatt-dev) ---->'Date':'Thu, 29 Aug 2019 12:43:59 GMT'
2019-08-29 14:43:59.232 (Growatt-dev) >'Status':'302'
2019-08-29 14:43:59.232 Error: (Growatt-dev) 'onMessage' failed 'KeyError'.
2019-08-29 14:43:59.232 Error: (Growatt-dev) ----> Line 443 in '/home/pi/domoticz/plugins/Domoticz-Growatt-dev/plugin.py', function onMessage
2019-08-29 14:43:59.232 Error: (Growatt-dev) ----> Line 234 in '/home/pi/domoticz/plugins/Domoticz-Growatt-dev/plugin.py', function onMessage
2019-08-29 14:44:08.999 (Growatt-dev) onHeartbeat called, Connection is alive.
2019-08-29 14:44:19.017 (Growatt-dev) onHeartbeat called, Connection is alive.
2019-08-29 14:44:28.984 (Growatt-dev) onHeartbeat called, Connection is alive.
2019-08-29 14:44:39.002 (Growatt-dev) onHeartbeat called, Connection is alive.
Pass2php
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
- Dnpwwo
- Posts: 819
- Joined: Sunday 23 March 2014 9:00
- Target OS: Raspberry Pi / ODroid
- Domoticz version: Beta
- Location: Melbourne, Australia
- Contact:
Re: Python Plugin: Growatt Inverter
Did Domoticz die or was it killed? I'm surprised about the work 'Killed' in the log output.
Its really strange for a webserver to return every character set it supports. Are you sure the GET request is correct? The server is returning an Accept-Charset request HTTP header in the response (it should return a Content-Type) followed by a whole list of character set names.
Try adding something like this into the request headers:
Its not surprising that the cookie is no good after a while because I assume its a security token and it expires. Do you get a different HTTP response returned like a 401 perhaps?
Its really strange for a webserver to return every character set it supports. Are you sure the GET request is correct? The server is returning an Accept-Charset request HTTP header in the response (it should return a Content-Type) followed by a whole list of character set names.
Try adding something like this into the request headers:
Code: Select all
Accept-Charset: utf-8, iso-8859-1;q=0.5
The reasonable man adapts himself to the world; the unreasonable one persists to adapt the world to himself. Therefore all progress depends on the unreasonable man. George Bernard Shaw
- sincze
- Posts: 1300
- Joined: Monday 02 June 2014 22:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.4
- Location: Netherlands / Breda Area
- Contact:
Re: Python Plugin: Growatt Inverter
I issued the famous ./domoticz..... and just waited the result was ' killed'

Domoticz the tabs are responding in the web interface.... However No logs nothing no action...
- Spoiler: show
Original request (using fiddler)Dnpwwo wrote: ↑Friday 30 August 2019 9:32 Its really strange for a webserver to return every character set it supports. Are you sure the GET request is correct? The server is returning an Accept-Charset request HTTP header in the response (it should return a Content-Type) followed by a whole list of character set names.
- Spoiler: show
- Spoiler: show
Cookie validation,.. I guess the return is the 302?
- Spoiler: show
Did not work unfortunately same issue.
Domoticz crash log is dated 22-08-2019...
- Spoiler: show
https://github.com/vert-x3/vertx-web/issues/623
https://github.com/spring-projects/spri ... sues/11974
Pass2php
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
- sincze
- Posts: 1300
- Joined: Monday 02 June 2014 22:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.4
- Location: Netherlands / Breda Area
- Contact:
Re: Python Plugin: Growatt Inverter
@Dnpwwo. More debug data needed??
Pass2php
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
- Dnpwwo
- Posts: 819
- Joined: Sunday 23 March 2014 9:00
- Target OS: Raspberry Pi / ODroid
- Domoticz version: Beta
- Location: Melbourne, Australia
- Contact:
Re: Python Plugin: Growatt Inverter
@sincze,
Sadly the crash log appears unrelated
so not much help. With no smoking gun its hard to find the issue.
I'm looking at one thing but if that doesn't pan out you may need to PM me an IP and port that let's me hit the inverter to provoke the crash.
Sadly the crash log appears unrelated

I'm looking at one thing but if that doesn't pan out you may need to PM me an IP and port that let's me hit the inverter to provoke the crash.
The reasonable man adapts himself to the world; the unreasonable one persists to adapt the world to himself. Therefore all progress depends on the unreasonable man. George Bernard Shaw
- sincze
- Posts: 1300
- Joined: Monday 02 June 2014 22:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.4
- Location: Netherlands / Breda Area
- Contact:
Re: Python Plugin: Growatt Inverter
I'm looking at one thingDnpwwo wrote: ↑Monday 02 September 2019 11:44 @sincze,
Sadly the crash log appears unrelatedso not much help. With no smoking gun its hard to find the issue.
I'm looking at one thing but if that doesn't pan out you may need to PM me an IP and port that let's me hit the inverter to provoke the crash.

Did you find something?? Hopefully hopefully.
Ofcourse any help will be welcome

Pass2php
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
- Dnpwwo
- Posts: 819
- Joined: Sunday 23 March 2014 9:00
- Target OS: Raspberry Pi / ODroid
- Domoticz version: Beta
- Location: Melbourne, Australia
- Contact:
Re: Python Plugin: Growatt Inverter
@sincze,
No luck sadly, the thing I was looking at appears okay.
I'm happy to debug this if you PM me an address and port to hit the inverter directly (and tyhe latest plugin source). Otherwise not sure how to fix it.
No luck sadly, the thing I was looking at appears okay.
I'm happy to debug this if you PM me an address and port to hit the inverter directly (and tyhe latest plugin source). Otherwise not sure how to fix it.
The reasonable man adapts himself to the world; the unreasonable one persists to adapt the world to himself. Therefore all progress depends on the unreasonable man. George Bernard Shaw
- sincze
- Posts: 1300
- Joined: Monday 02 June 2014 22:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.4
- Location: Netherlands / Breda Area
- Contact:
Re: Python Plugin: Growatt Inverter
Really appreciated,
Just copy paste the plugin source??? in PM
Or should I store it somewhere in Github.
Fun part is.. at this moment the plugin runs... after x hours... not anymore due to the 302 (not logged in).
I also see the following, but then out of the blue it starts working again.
beats me.
Just copy paste the plugin source??? in PM
Or should I store it somewhere in Github.
Fun part is.. at this moment the plugin runs... after x hours... not anymore due to the 302 (not logged in).
I also see the following, but then out of the blue it starts working again.
beats me.
- Spoiler: show
Pass2php
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
Who is online
Users browsing this forum: No registered users and 0 guests