Comments (6)
OK, I see the problem. The issue is that it will be very difficult to make code changes without having the actual device and testing how it works. Also I am not really sure what is the best way of making the code work for the "old" devices and the MIC-TL-X as well. Maybe this new mapping is something they will roll out for all new models in the future?
from growatt2mqtt.
Hi Tom,
I also have a MIC-TL-X and the code works just fine there. There is a naming convention in modbus that the input registers are always number from 3000 and the holding registers from 4000 (or the other way around, I can never remember). This is done so when you look at the number you can immediately tell if it is a holding or input register. But in all the modbus software I used and also in the arduino library, you provide the address from the base 3000 or 4000. So what is addres 3000 in the documentation, in the program that is zero.
As I said this code is reading my small MIC 750 and it is fine.
from growatt2mqtt.
What you write makes perfect sense, but various totay and total values are still mixed up. Take a look above.
What irritates me now is that I can read out the total and today data via the 3049 with my own nodered flow (attachment) over an waveshare modbus-wlan converter. But not with this esp-script and your Grafana dashboard. All other data are coming in.
from growatt2mqtt.
I have checked the mqtt-mosquitto log file. {"fields":{"deratingmode":0,"energytoday":0,"energytotal":0.9,"faultbitcode":0,"faultcode":0,"gridfrequency":49.99,"gridvoltage":227.2,"ipf":20000,"opfullpowe r":0,"outputpower":21.5,"pv1current":0.3,"pv1energytoday":0,"pv1energytotal":0.9,"pv1power":22.1,"pv1voltage":58,"pv2current":0,"pv2energytoday":0,"pv2energyt otal":0,"pv2power":0,"pv2voltage":0,"realoppercent":0,"solarpower":22.1,"status":1,"tempboost":0,"tempinverter":26.5,"tempipm":26.5,"totalworktime":165833.5," warningbitcode":0},"name":"mqtt_consumer","tags":{"host":"raspberrypi","topic":"growatt600/data"},"timestamp":1700298901}
Any ideas?
from growatt2mqtt.
Hi Csongor,
i have checked it now multiple times. I am very sorry, also because i know that you have much more knowledge of the matter than i do. I have to say your code is not using the correct registers for the TL-X Series, because you've used the wrong register list documentation.
There is a naming convention in modbus that the input registers are always number from 3000 and the holding registers from 4000
I noticed this for some manufactures (i believe the Eastron SDM630/230) with 3000x (for holding) and 4000x (for input), but now after my review i know it has nothing to do with this. These in the documentation described 3000-registers are the right, real and only ones that worked correctly. You can't use register 0001 from a other device alternatively to the 3001 and so on. It is different address with different values in it, even if you get some values out of it and even many of them seems to be the right ones.
The documentation (site no: 48) says it very clear: The input register for TL-X begins at 3000-3124, (3125... right after the heading information:
Use for TL-X and TL-XH
and this means do not start at site no: 33 with input register no: 0. of an different device. In many cases the register are kind identical, but a few are different and others do not even exists. If you use 0001 it will bemapped to 3001 or vice versa.
I say it again: there are no input-register 0-124 for MIC-TL-X described in the documentation.
One example (then i'm done here):
In growattInterface.cpp @line 82:
modbusdata.pv1energytoday = ((growattInterface.getResponseBuffer(59) << 16) | growattInterface.getResponseBuffer(60)) * 0.1;
Here you want to get value of "energy PV1 of actual day", like it is described in input-register list no. 59, right? But instead it reads (with, or without the internal mapping function) the register 3059 | Epv2_today. There is no PV2 in a MIC-TL-X. And that is the reason why i am getting no value. I've found a few other mismatched addresses in your code. No question, it is a total mess what they have done in this documentation.
from growatt2mqtt.
i have sent you an email.
from growatt2mqtt.
Related Issues (20)
- Smart meter address
- RS232 Viability HOT 2
- useModulPower HOT 3
- SOC data request HOT 2
- Use growatt2mqtt for evcc HOT 3
- WDT Timeout Issue HOT 11
- Growatt MOD 6000TL3-X HOT 4
- Sending setMaxOutput to MQTT HOT 6
- my version HOT 3
- unable to use setMaxOutput HOT 4
- Smart Meter emulation ingtegration HOT 3
- Growatt MIN 3600TL-XE ? HOT 5
- is it possible to enable/disable and change export limits via modbus for mic type inverters HOT 1
- Used your code! Thanks! Reworked main as code seems to freeze HOT 2
- Monitor multiple inverters? Multi-phase, parallel installation. HOT 5
- [Question] useModulPower outside the mqtt context HOT 4
- Changes in Libraries?
- Adapting for 3 phase inverter HOT 2
- "maxpower" setting? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from growatt2mqtt.