Skip to content

Conversation

@Robbie-1208
Copy link

No description provided.

@Robbie-1208 Robbie-1208 changed the title Feature/modbus general modbus entity/service Sep 22, 2025
@wcpettus wcpettus changed the base branch from main to develop September 23, 2025 21:12
Dockerfile Outdated

FROM ${img_user}/${img_repo}:${img_tag}

RUN pip install pymodbus slack_sdk

Choose a reason for hiding this comment

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

should remove slack_sdk from this PR (that's from your working code on slack integration)

@@ -0,0 +1,3 @@
__all__ = []

Choose a reason for hiding this comment

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

@nsoblath : should we have these extensions flat in the dripline/extensions/ directory? or in their own subdirectory like jitter was (doesn't seem to add value)

@renereimann
Copy link
Contributor

We should cross-compare and harmonize with #223

@wcpettus
Copy link

So you can only define the endian-ness of the word order and not the byte order now? I'm hoping this doesn't cause issues for any devices down the road. The documentation on the new method seems thin, with a lot of the docs still using BinaryPayloadDecoder despite the deprecation warnings, but that's a developer side issue.

Our device is offline right now, so can't test. Will have to work out any issues on a hot fix. I may go back and allow endianness to be defined at a Service level, since that should be a device property and not require specification at the individual entity level.

@renereimann
Copy link
Contributor

So you can only define the endian-ness of the word order and not the byte order now? I'm hoping this doesn't cause issues for any devices down the road. The documentation on the new method seems thin, with a lot of the docs still using BinaryPayloadDecoder despite the deprecation warnings, but that's a developer side issue.

Our device is offline right now, so can't test. Will have to work out any issues on a hot fix. I may go back and allow endianness to be defined at a Service level, since that should be a device property and not require specification at the individual entity level.

According to the MODBUS Application Protocol (2012) see e.g.
https://web.archive.org/web/20250825211935/https://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf
Section 4.2
image
the endian-ness of the bytes is defined in the protocol standard. Therefore devices "should" have this implemented.
The endian-ness of the individual words is not specified and thus can be set. I agree that it makes sense if one device uses the same endian-ness for all parameters.

@renereimann
Copy link
Contributor

@wcpettus I have implemented your suggestions and also made the wordorder again a service property. I fully agree that this just makes sense. Since also the test builds work and we have no conflict with develop we are ready to merge.

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.

4 participants