Skip to content
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

Add more registers for S-series, update extensions.json, update mappings for climate systems #206

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

vtamm
Copy link
Contributor

@vtamm vtamm commented Jan 18, 2025

@yozik04 here are a bunch of more registers for S-series units plus my proposed changes to the extensions. If you agree with these changes I will run the CSV to JSON script and add the updated JSON files to this PR.

@yozik04
Copy link
Owner

yozik04 commented Jan 19, 2025

@elupus Can you please review this PR.

@@ -252,8 +252,9 @@
}
},
{
"description": "Corrections for compressor power units - S series",
"description": "Corrections for compressor power units - S735, S1155/S1156",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't to the models to the description. That will be hard to maintain

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @elupus! The reason I updated this line is because this extension does not apply to all S-series, only these two models, because for whatever reason the "Instantaneous used power" register in their respective CSV files has Ws defined as the unit instead of W like it should be:

Instantaneous used power MODBUS_INPUT_REGISTER 2166 1 Ws 6 0 9999999 0

Instantaneous used power MODBUS_INPUT_REGISTER 2166 1 Ws 6 0 9999999 0

For all other S-series models, the unit for this register is already correctly reported as W in the CSV exports.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but it is likely we find more (or these are fixed). So we should not mention the model names in the description.

It should just be a correction for the series pumps with invalid values.

}
}
}
},
{
"description": "M12676EN-1 - Common Parameters",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please don't change these descriptions. It breaks the diff and this spec is the source for most of these values.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to clarify: I submitted these changes only as a suggestion after first privately messaging @yozik04 to ask if it is permitted to change the existing objects (by merging several mappings into one object) and update some of the descriptions to make it more clear what some of the extensions do.

I haven't gotten a response to that question yet, so my intention with this PR (at this point) was only to show what the result would be if I went ahead with those changes if permission was granted.

I changed the description right here because it doesn't convey any meaningful information, like which models are affected. The string "M12676EN-1" refers to the filename/document name for the NIBE Modbus registers PDF, as can be seen in the bottom left of the first page here.

But of course, if merging objects and updating descriptions breaks something, I will certainly not make any such changes!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The M12676EN-1 document have separate sections for different models. I want the extensions to reflect which section of that document the data is from.

I wasn that document to be the main "source" of truth, then we can add corrections on top of that.

Copy link
Contributor Author

@vtamm vtamm Jan 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@elupus Here's an image that better illustrates what I mean by "merging objects and update descriptions":

Screenshot 2025-01-19 at 18 22 45

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem is that our extension system currently can't handle NOT adding registers if they don't exist in the orignal pump setup. So with your example to the right, we will end up adding registers with only mapping data.

I'm not against the idea, but we need some system to make sure that does not end up creating partial register configuration for pumps without support for a given register.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Understood! I will update this PR to remove the changes to existing objects in extensions.json and then add new objects for the registers that I found were missing mappings. Thanks for clarifying!

nibe/coil_groups.py Show resolved Hide resolved
@elupus
Copy link
Collaborator

elupus commented Jan 19, 2025

I just checked the average temperature on F series. It is a time based average there. Very likely the same on S series. But it is a quite a fast average so should be fine to use.

Screenshot_20250119-192812

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants