moat-modbus
% start synopsis % start main
This is an anyio-enabled async Modbus client/server, built on the sans-IO
protocol core moat-lib-modbus (no pymodbus dependency).
% end synopsis
Usage
Check the example client and server for rudimentary usage.
Documentation patches gladly accepted.
Background
moat-modbus diverges from pymodbus in that it does not expose a "data
store" context to the user. Instead, every bus value is a separate object,
with arbitrary length and encapsulating its own encoding and decoding rules.
A Modbus server exposing writeable registers only needs to
- register the value in question
- wait for it to be written to
The rest happens behind the scenes.
Device Server
As some Modbus devices only allow ine server at a time, MoaT's Modbus supports a simple bidirectional gateway.
How to get there:
- Write a generic device description. Put it in the modbus-data repository.
- Add an interface overlay that describes which topic to send the data to / which topic to read.
- Run
moat modbus dev poll FILE.yaml. You can use a generic systemd service if you copy the file to/etc/moat/modbus.
The values can be modified (factor+offset); the gateway works in both directions (command/state).
% end main
MQTT / MoaT-KV interface
MoaT-Modbus includes a server that's informed by a device profile. This server acts as a bidirectional gateway from and to MQTT and/or MoaT-KV storage.
See "gateway.rst" for details.
TODO
- configurable codecs
- get/set attributes
- pack multiple values into a message
- read-after-write if no slot
Metadata
Release files for moat-modbus 0.9.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| moat_modbus-0.9.12.tar.gz | 45.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| moat_modbus-0.9.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 91.4 kB
Release files / moat_modbus-0.9.12.tar.gz
| Download URL | moat_modbus-0.9.12.tar.gz |
|---|---|
| Size | 45.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7ee64951f4228de6a44f511780eb378cb63162cf829ae2751d512ac229f63cba
|
|
BLAKE2b-256 checksum How to use checksums |
073646f8d5a4bb214b372095ef74a28731383f5f8c413a4b3fbb8fb55502e395
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / moat_modbus-0.9.12-py3-none-any.whl
| Download URL | moat_modbus-0.9.12-py3-none-any.whl |
|---|---|
| Size | 46.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9aee291537caaded8c175fd71ceadf6e22137998cf0f77ec66e67371b403adc1
|
|
BLAKE2b-256 checksum How to use checksums |
48b5d9a40cb371f197f9c2d410986ac5e3a3aceb94df72f6a0cf38be1081a57e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|