-
Notifications
You must be signed in to change notification settings - Fork 50
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
Is handling of NaN values in scope of spec/library? #74
Comments
On page 19 of the SunSpec information models document it covers unimplemented registers. On read the SunSpec specified unimplemented value should be returned. On write the value is thrown out and there is no exception. Each data type defines its unimplemented value. For example, not implemented for a uint16 is 0xFFFF (65,535) while for int16 it is 0x8000 (-32768). |
Thank you for confirming- this is in line with what the SMA inverters apparently are doing. Is this covered by pysunspec? |
The values are defined here: pysunspec/sunspec/core/suns.py Lines 62 to 80 in 5242ea9
and there are a few layers but those end up being used in two places (close to each other) via the pysunspec/sunspec/core/client.py Lines 361 to 362 in 5242ea9
pysunspec/sunspec/core/client.py Lines 376 to 378 in 5242ea9
|
Great, thank you! I had done a quick check for |
Hmm, I haven't dug into the extra layers but |
I‘ve noticed that SMA inverters use maximum unsigned values or minimum signed values in the respective data type number to indicate a NaN value. For example, model 101 single phase inverters will do so for phases B and C. This behaviour is documented by SMA.
Is this behaviour covered by the sunspec standard and this library? Couldn‘t find it in either code or specs I‘ve looked at?
The text was updated successfully, but these errors were encountered: