-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Modbus multidevice support #44
Modbus multidevice support #44
Conversation
9324: 'SBS1.5-1VL-10', | ||
9325: 'SBS2.0-1VL-10', | ||
9326: 'SBS2.5-1VL-10', | ||
9344: 'STP4.0-3AV-40', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add:
9456: 'SBS3.7-10'
I can confirm that the modbus register and values are the same. I am happy to help testing because i am using this battery inverter if there is anything needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SBS3.7-10 should be 9356 according to this: https://files.sma.de/downloads/MODBUS-HTML_SBS3.7-6.0-10_GG10-V13.zip
Will add these to the list, but actual readout of battery-related values is not yet implemented.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry yes, typo.
9346: 'STP6.0-3AV-40', | ||
9366: 'STP3.0-3AV-40' | ||
}, | ||
'BatteryState': { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not quite sure this will work or i can not find the function: AFAIK the values here are return values that are present in Modbus Register: 30955
and cannot be called directly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct, but these values are not used to call modbus directly. They are used to interpret the modbus response codes here:
Line 459 in cdf88e0
e = pvenums.get(name, {}) |
2293: 'Discharging', | ||
16777213: 'NA' | ||
}, | ||
'BatteryHealth': { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not quite sure this will work or i can not find the function: AFAIK the values here are return values that are present in Modbus Register: 31391
and cannot be called directly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct, but these values are not used to call modbus directly. They are used to interpret the modbus response codes here:
Line 459 in cdf88e0
e = pvenums.get(name, {}) |
b5cfac2
to
ea06d24
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since I don't have an SMA inverter, I can't test the coding, but it seems to be useful
Unfortunately, there are now a few conflicts .. I'll check it out soon ... or someone else is faster ;-) |
ea06d24
to
2d6e3d0
Compare
rebased to new master |
will test this today when the inverters go online. |
Adjusted pvdata & influxdb to handle data of multiple SMA inverters. This also lays the foundation for the inclusion of battery inverters. Already did this a while ago, rebased it now for this pull request. Also has the #43 unicode fix, not sure if that's a problem.
Edit: Adapted mqtt & symcon to handle multi-inverter data. Other output features do not use the pvdata currently. My tests showed no problems, but additional feedback is welcome.