Initial commit for tac2100_compteur_mbus2mqtt

This commit is contained in:
gilles
2025-01-03 14:53:06 +01:00
parent a75c5804ba
commit b61d43b62c
1728 changed files with 308235 additions and 0 deletions

View File

@@ -0,0 +1,149 @@
Authors
=======
All these version were not possible without volunteers!
This is a complete list for each major version.
Pymodbus version 3 family
-------------------------
Thanks to
- AKJ7
- Alex
- Alex Ruddick
- Alexandre CUER
- Alois Hockenschlohe
- banana-sun
- Blaise Thompson
- cgernert
- corollaries
- Chris Hung
- Christian Krause
- dhoomakethu
- Dries
- duc996
- Fredo70
- Gao Fang
- Ghostkeeper
- Hangyu Fan
- Hayden Roche
- Iktek
- Jakob Ruhe
- James Braza
- jan iversen
- Joe Burmeister
- Kenny Johansson
- Matthias Straka
- Logan Gunthorpe
- Marko Luther
- Matthias Straka
- Pavel Kostromitinov
- peufeu2
- Philip Couling
- Sebastian Machuca
- Sefa Keleş
- Thijs W
- Totally a booplicate
- WouterTuinstra
- wriswith
- yyokusa
Pymodbus version 2 family
-------------------------
Thanks to
- alecjohanson
- Alexey Andreyev
- Andrea Canidio
- Carlos Gomez
- Cougar
- Christian Sandberg
- dhoomakethu
- dices
- Dmitri Zimine
- Emil Vanherp
- er888kh
- Eric Duminil
- Erlend Egeberg Aasland
- hackerboygn
- Jian-Hong Pan
- Jose J Rodriguez
- Justin Searle
- Karl Palsson
- Kim Hansen
- Kristoffer Sjöberg
- Kyle Altendorf
- Lars Kruse
- Malte Kliemann
- Memet Bilgin
- Michael Corcoran
- Mike
- sanjay
- Sekenre
- Siarhei Farbotka
- Steffen Vogel
- tcplomp
- Thor Michael Støre
- Tim Gates
- Ville Skyttä
- Wild Stray
- Yegor Yefremov
Pymodbus version 1 family
-------------------------
Thanks to
- Antoine Pitrou
- Bart de Waal
- bashwork
- bje-
- Claudio Catterina
- Chintalagiri Shashank
- dhoomakethu
- dragoshenron
- Elvis Stansvik
- Eren Inan Canpolat
- Everley
- Fabio Bonelli
- fleimgruber
- francozappa
- Galen Collins
- Gordon Broom
- Hamilton Kibbe
- Hynek Petrak
- idahogray
- Ingo van Lil
- Jack
- jbiswas
- jon mills
- Josh Kelley
- Karl Palsson
- Matheus Frata
- Patrick Fuller
- Perry Kundert
- Philippe Gauthier
- Rahul Raghunath
- sanjay
- schubduese42
- semyont
- Semyon Teplitsky
- Stuart Longland
- Yegor Yefremov
Pymodbus version 0 family
-------------------------
Thanks to
- Albert Brandl
- Galen Collins
Import to github was based on code from:
- S.W.A.C. GmbH, Germany.
- S.W.A.C. Bohemia s.r.o., Czech Republic.
- Hynek Petrak
- Galen Collins

View File

@@ -0,0 +1 @@
pip

View File

@@ -0,0 +1,21 @@
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -0,0 +1,368 @@
Metadata-Version: 2.1
Name: pymodbus
Version: 3.5.4
Summary: A fully featured modbus protocol stack in python
Author: "Galen Collins, Jan Iversen"
Maintainer: "dhoomakethu, janiversen"
License: BSD-3-Clause
Project-URL: Homepage, https://github.com/pymodbus-dev/pymodbus/
Project-URL: Source Code, https://github.com/pymodbus-dev/pymodbus
Project-URL: Bug Reports, https://github.com/pymodbus-dev/pymodbus/issues
Project-URL: Docs: Dev, https://pymodbus.readthedocs.io/en/latest/?badge=latest
Project-URL: Discord, https://discord.gg/vcP8qAz2
Keywords: modbus,asyncio,scada,client,server,simulator
Platform: 'Linux'
Platform: 'Mac OS X'
Platform: 'Win'
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Framework :: AsyncIO
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Unix
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: OS Independent
Classifier: Operating System :: Microsoft
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: System :: Networking
Classifier: Topic :: Utilities
Requires-Python: >=3.8.0
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: AUTHORS.rst
Provides-Extra: all
Requires-Dist: pyserial >=3.5 ; extra == 'all'
Requires-Dist: aiohttp >=3.8.6 ; extra == 'all'
Requires-Dist: typer[all] >=0.7.0 ; extra == 'all'
Requires-Dist: prompt-toolkit >=3.0.36 ; extra == 'all'
Requires-Dist: pygments >=2.15.0 ; extra == 'all'
Requires-Dist: click >=8.0.0 ; extra == 'all'
Requires-Dist: recommonmark >=0.7.1 ; extra == 'all'
Requires-Dist: Sphinx >=5.3.0 ; extra == 'all'
Requires-Dist: sphinx-rtd-theme >=1.1.1 ; extra == 'all'
Requires-Dist: build >=1.0.3 ; extra == 'all'
Requires-Dist: codespell >=2.2.2 ; extra == 'all'
Requires-Dist: coverage >=7.1.0 ; extra == 'all'
Requires-Dist: mypy >=1.3.0 ; extra == 'all'
Requires-Dist: pre-commit >=3.1.1 ; extra == 'all'
Requires-Dist: pyflakes >=3.0.1 ; extra == 'all'
Requires-Dist: pydocstyle >=6.3.0 ; extra == 'all'
Requires-Dist: pycodestyle >=2.10.0 ; extra == 'all'
Requires-Dist: pylint >=2.17.2 ; extra == 'all'
Requires-Dist: pytest >=7.3.1 ; extra == 'all'
Requires-Dist: pytest-asyncio >=0.20.3 ; extra == 'all'
Requires-Dist: pytest-cov >=4.1.0 ; extra == 'all'
Requires-Dist: pytest-timeout >=2.1.0 ; extra == 'all'
Requires-Dist: pytest-xdist >=3.3.1 ; extra == 'all'
Requires-Dist: ruff >=0.0.287 ; extra == 'all'
Requires-Dist: twine >=4.0.2 ; extra == 'all'
Requires-Dist: types-Pygments ; extra == 'all'
Requires-Dist: types-pyserial ; extra == 'all'
Provides-Extra: development
Requires-Dist: build >=1.0.3 ; extra == 'development'
Requires-Dist: codespell >=2.2.2 ; extra == 'development'
Requires-Dist: coverage >=7.1.0 ; extra == 'development'
Requires-Dist: mypy >=1.3.0 ; extra == 'development'
Requires-Dist: pre-commit >=3.1.1 ; extra == 'development'
Requires-Dist: pyflakes >=3.0.1 ; extra == 'development'
Requires-Dist: pydocstyle >=6.3.0 ; extra == 'development'
Requires-Dist: pycodestyle >=2.10.0 ; extra == 'development'
Requires-Dist: pylint >=2.17.2 ; extra == 'development'
Requires-Dist: pytest >=7.3.1 ; extra == 'development'
Requires-Dist: pytest-asyncio >=0.20.3 ; extra == 'development'
Requires-Dist: pytest-cov >=4.1.0 ; extra == 'development'
Requires-Dist: pytest-timeout >=2.1.0 ; extra == 'development'
Requires-Dist: pytest-xdist >=3.3.1 ; extra == 'development'
Requires-Dist: ruff >=0.0.287 ; extra == 'development'
Requires-Dist: twine >=4.0.2 ; extra == 'development'
Requires-Dist: types-Pygments ; extra == 'development'
Requires-Dist: types-pyserial ; extra == 'development'
Provides-Extra: documentation
Requires-Dist: recommonmark >=0.7.1 ; extra == 'documentation'
Requires-Dist: Sphinx >=5.3.0 ; extra == 'documentation'
Requires-Dist: sphinx-rtd-theme >=1.1.1 ; extra == 'documentation'
Provides-Extra: repl
Requires-Dist: aiohttp >=3.8.6 ; extra == 'repl'
Requires-Dist: typer[all] >=0.7.0 ; extra == 'repl'
Requires-Dist: prompt-toolkit >=3.0.36 ; extra == 'repl'
Requires-Dist: pygments >=2.15.0 ; extra == 'repl'
Requires-Dist: click >=8.0.0 ; extra == 'repl'
Provides-Extra: serial
Requires-Dist: pyserial >=3.5 ; extra == 'serial'
Provides-Extra: simulator
Requires-Dist: aiohttp >=3.8.6 ; extra == 'simulator'
# PyModbus - A Python Modbus Stack
Pymodbus is a full Modbus protocol implementation using a synchronous or
asynchronous core. The library consist of 4 parts:
- **client**, connect to your favorite device
- **server**, simulate your favorite device
- **repl**, a text based client/server simulator
- **simulator**, a html based server simulator
Pymodbus:
- implement the modbus standard protocol, with the possibility to add
customizations.
- support serial (rs-485), tcp, tls and udp communication.
- support all standard frames: socket, rtu, rtu-over-tcp, tcp and
ascii.
- can be used without any third party dependencies (aside from
pyserial)
- is a very lightweight project.
- requires Python \>= 3.8.
- provides a lot of ready to use examples.
- provides a server/client simulators.
- have a thorough test suite, that test all corners of the library.
- Tested automatically on Windows, Linux and MacOS with python 3.8 -
3.11
The modbus protocol documentation is available
`here <_static/Modbus_Application_Protocol_V1_1b3.pdf>`
We are constantly working the modernize pymodbus and add new features,
and we look for people who want to help a bit. There are challenges
small and large not only programming but also documentation and testing.
[![image](https://github.com/pymodbus-dev/pymodbus/actions/workflows/ci.yml/badge.svg?branch=dev)](https://github.com/pymodbus-dev/pymodbus/actions/workflows/ci.yml)
[![Documentation Status](https://readthedocs.org/projects/pymodbus/badge/?version=latest)](https://pymodbus.readthedocs.io/en/latest/?badge=latest)
[![Downloads](https://pepy.tech/badge/pymodbus)](https://pepy.tech/project/pymodbus)
## Supported versions
Version
[3.5.4](https://github.com/pymodbus-dev/pymodbus/releases/tag/v3.5.4) is
the current release.
Each release is
[documented](https://pymodbus.readthedocs.io/en/latest/source/changelog.html)
A big thanks to all the
[volunteers](https://pymodbus.readthedocs.io/en/latest/source/authors.html)
that helped make pymodbus a great project.
::: important
::: title
Important
:::
All API changes after 3.0.0 are documented in
[API_changes.rst](https://github.com/pymodbus-dev/pymodbus/blob/dev/CHANGELOG.rst)
:::
## Common features
> - Full modbus standard protocol implementation
> - Support for custom function codes
> - Most of the extended protocol
> (diagnostic/file/pipe/setting/information) also implemented
> - TCP, RTU-OVER-TCP, UDP, TLS, Serial ASCII and Serial RTU
## Client Features
> - asynchronous and synchronous API for applications
> - Payload builder/decoder utilities
> - Pymodbus REPL for quick tests
## Server Features
> - Simulate real life devices
> - asynchronous and synchronous versions
> - Full server control context (device information, counters, etc)
> - A number of backend datastores
> - Pymodbus REPL for quick tests
> - Pymodbus simulator for cloud based testing
## Use Cases
The client is the most typically used. It is embedded into applications,
where it abstract the modbus protocol from the application by providing
an easy to use API. The client is integrated into some well known
projects like [home-assistant](https://www.home-assistant.io).
Although most system administrators will find little need for a Modbus
server on any modern hardware, they may find the need to query devices
on their network for status (PDU, PDR, UPS, etc). Since the library is
written in python, it allows for easy scripting and/or integration into
their existing solutions.
Continuing, most monitoring software needs to be stress tested against
hundreds or even thousands of devices (why this was originally written),
but getting access to that many is unwieldy at best.
The pymodbus server will allow a user to test as many devices as their
base operating system will allow.
For more information please browse the project documentation:
<https://readthedocs.org/docs/pymodbus/en/latest/index.html>
## Example Code
For those of you that just want to get started fast, here you go:
from pymodbus.client import ModbusTcpClient
client = ModbusTcpClient('MyDevice.lan')
client.connect()
client.write_coil(1, True)
result = client.read_coils(1,1)
print(result.bits[0])
client.close()
We provide a couple of simple ready to go clients:
- [async
client](https://github.com/pymodbus-dev/pymodbus/blob/dev/examples/simple_async_client.py)
- [sync
client](https://github.com/pymodbus-dev/pymodbus/blob/dev/examples/simple_sync_client.py)
For more advanced examples, check out the
[Examples](https://pymodbus.readthedocs.io/en/dev/source/examples.html)
included in the repository. If you have created any utilities that meet
a specific need, feel free to submit them so others can benefit.
examples -> Essential examples guaranteed to work (tested with our CI)
├── contrib -> Examples contributed by contributors.
Also, if you have a question, please [create a post in discussions q&a
topic](https://github.com/pymodbus-dev/pymodbus/discussions/new?category=q-a),
so that others can benefit from the results.
If you think, that something in the code is broken/not running well,
please [open an
issue](https://github.com/pymodbus-dev/pymodbus/issues/new), read the
Template-text first and then post your issue with your setup
information.
## Installing with pip
You can install using pip or easy install by issuing the following
commands in a terminal window (make sure you have correct permissions or
a virtualenv currently running):
> pip install -U pymodbus
If you want to use the serial interface:
> pip install -U pymodbus\[serial\]
This will install pymodbus, r
To install pymodbus with options run:
> pip install -U pymodbus\[\<option\>,\...\]
Available options are:
- **repl**, install dependencies needed by pymodbus.repl
- **serial**, installs serial drivers.
- **simulator**, install dependencies needed by pymodbus.simulator
- **documentation**, installs tools to generate documentation.
- **development**, installs development tools needed to enable
test/check of pymodbus changes.
- **all**, installs all of the above
## Installing with github
Before cloning the repo, you need to install python3 (preferable 3.11)
and make and activate a virtual environment:
python3 -m venv /path/to/new/virtual/environment
source .venv/bin/activate
Clone the source and install from there:
git clone git://github.com/pymodbus-dev/pymodbus.git
cd pymodbus
To get a specific release:
git checkout v3.5.2
To get bleeding edge:
git checkout dev
Install required development tools:
pip install -e ".[development]"
pre-commit install
This installs pymodbus in your virtual environment with pointers
directly to the pymodbus directory, so any change you make is
immediately available as if installed. It will also install
[pre-commit]{.title-ref} git hooks.
The repository contains a number of important branches and tags.
: - **dev** is where all development happens, this branch is not
always stable.
- **master** is where are releases are kept.
- All releases are tagged with **vX.Y.Z** (e.g. v2.5.3)
If a maintenance release of an old version is needed (e.g. v2.5.4), the
release tag is used to create a branch with the same name, and
maintenance development is merged here.
## Current Work In Progress
The maintenance team is very small with limited capacity and few modbus
devices.
If your company would like your device tested or have a cloud based
device simulation, feel free to contact us. We are happy to help your
company solve your modbus challenges.
That said, the current work mainly involves polishing the library and
solving issues:
> - Fixing bugs/feature requests
> - Architecture documentation
> - Functional testing against any reference we can find
> - The remaining edges of the protocol (that we think no one uses)
There are 2 bigger projects ongoing:
> - rewriting the internal part of all clients (both sync and async)
> - Make the simulator datastore THE datastore
## Development Instructions
The current code base is compatible python \>= 3.8. Here are some of the
common commands to perform a range of activities
> ./check_ci.sh run the same checks as CI runs on a pull request.
## Generate documentation
**Remark** Assumes that you have installed documentation tools:
> pip install -e \".\[documentation\]\"
to build do:
> cd doc ./build_html
The documentation is available in \<root\>/build/html/html
## Contributing
Just fork the repo and raise your PR against [dev]{.title-ref} branch.
We always have more work than time, so feel free to open a discussion /
issue on a theme you want to solve.
## License Information
Released under the [BSD License](LICENSE)

View File

@@ -0,0 +1,146 @@
../../../bin/pymodbus.console,sha256=LTcrkMclOj5RXcxljF3HlPjDNrEQ83qOBzKehc7T0aw,265
../../../bin/pymodbus.server,sha256=uf30TRMgV7LNxxxlwWnP54lreRxvlqR7Ug6TmSNflRs,263
../../../bin/pymodbus.simulator,sha256=nk9oQRfFk2xC6jfgbIRYVqKluIHmVpg2xDGag5dtsnE,270
pymodbus-3.5.4.dist-info/AUTHORS.rst,sha256=5fn4V0A2ltT5rmzLspMVftOsXlmGUAly7BvrBLLhlmQ,2196
pymodbus-3.5.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
pymodbus-3.5.4.dist-info/LICENSE,sha256=PnXOeb5kMcqI9n8paAnqp-3fnH_1tdnKA7hxIoKJPg8,1337
pymodbus-3.5.4.dist-info/METADATA,sha256=bdqvaZ6tRsU7epV4DgFctvNe76BnZnzmeOx9HPZUGp8,13421
pymodbus-3.5.4.dist-info/RECORD,,
pymodbus-3.5.4.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
pymodbus-3.5.4.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
pymodbus-3.5.4.dist-info/entry_points.txt,sha256=YeA3EFuNUU2mTkNTnPGuhvmDcxJHQ0-oPplh0Kxyn-E,173
pymodbus-3.5.4.dist-info/top_level.txt,sha256=HJWcaj1-eMuBze0N2TieOGTgQD6XNXgTaqG7Ik6oxw0,9
pymodbus-3.5.4.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
pymodbus/__init__.py,sha256=gjVwr8QJKNL-fMtfbwjJSxMlfNIfkv60e-mnRXHJr8M,316
pymodbus/__pycache__/__init__.cpython-311.pyc,,
pymodbus/__pycache__/bit_read_message.cpython-311.pyc,,
pymodbus/__pycache__/bit_write_message.cpython-311.pyc,,
pymodbus/__pycache__/constants.cpython-311.pyc,,
pymodbus/__pycache__/device.cpython-311.pyc,,
pymodbus/__pycache__/diag_message.cpython-311.pyc,,
pymodbus/__pycache__/events.cpython-311.pyc,,
pymodbus/__pycache__/exceptions.cpython-311.pyc,,
pymodbus/__pycache__/factory.cpython-311.pyc,,
pymodbus/__pycache__/file_message.cpython-311.pyc,,
pymodbus/__pycache__/logging.cpython-311.pyc,,
pymodbus/__pycache__/mei_message.cpython-311.pyc,,
pymodbus/__pycache__/other_message.cpython-311.pyc,,
pymodbus/__pycache__/payload.cpython-311.pyc,,
pymodbus/__pycache__/pdu.cpython-311.pyc,,
pymodbus/__pycache__/register_read_message.cpython-311.pyc,,
pymodbus/__pycache__/register_write_message.cpython-311.pyc,,
pymodbus/__pycache__/transaction.cpython-311.pyc,,
pymodbus/__pycache__/utilities.cpython-311.pyc,,
pymodbus/bit_read_message.py,sha256=ZOTsRQY4L1gOwf1PGeXo5XiEYqQNLZrn69rmwXHsBTk,9422
pymodbus/bit_write_message.py,sha256=76hUhJOzbg4GpaVQh5rachturVweU7PtukS9n9GbJSU,9536
pymodbus/client/__init__.py,sha256=YXDNyH6MJfyp6lkgICqgGn1dttnLFkohQ8nioa1Evs4,602
pymodbus/client/__pycache__/__init__.cpython-311.pyc,,
pymodbus/client/__pycache__/base.cpython-311.pyc,,
pymodbus/client/__pycache__/mixin.cpython-311.pyc,,
pymodbus/client/__pycache__/serial.cpython-311.pyc,,
pymodbus/client/__pycache__/tcp.cpython-311.pyc,,
pymodbus/client/__pycache__/tls.cpython-311.pyc,,
pymodbus/client/__pycache__/udp.cpython-311.pyc,,
pymodbus/client/base.py,sha256=9D7L4-8wwfy1SDu5v2i-sXgDt7pqa0XcouhCSzxo0ZE,12223
pymodbus/client/mixin.py,sha256=Ml396gnnzrB6G5TtB-rHDlxRqohvtBTykiw9SgCo4RU,21046
pymodbus/client/serial.py,sha256=LK2i8leQLjSkMA2JkE8xrtTuSOaoPbHXf70PJE3TsEM,9545
pymodbus/client/tcp.py,sha256=YIlfYLl-3311Ftm5NZfDw0WnXqmCUPWuidjU5YYXqls,9239
pymodbus/client/tls.py,sha256=mXoiv4kpypyXlVvBMnOSSbY9ifu-wYqNA3C9n-izVI8,5600
pymodbus/client/udp.py,sha256=kxjoGiIrFcQRWz6ZbendyesaIjTJ6s13SDVf4YNNpKE,5451
pymodbus/constants.py,sha256=4A6G2tpg_uNJ9uAI4hGDJvvOfBE6TNQ4v5OF_amJFxw,3988
pymodbus/datastore/__init__.py,sha256=7DoMjoxfHQYq_7Sn9buUq4dOOHzNot113AmrwgEHliE,491
pymodbus/datastore/__pycache__/__init__.cpython-311.pyc,,
pymodbus/datastore/__pycache__/context.cpython-311.pyc,,
pymodbus/datastore/__pycache__/remote.cpython-311.pyc,,
pymodbus/datastore/__pycache__/simulator.cpython-311.pyc,,
pymodbus/datastore/__pycache__/store.cpython-311.pyc,,
pymodbus/datastore/context.py,sha256=VaLpdFkmbdTdR5oqmBNQCmz7EE0wiZzDslgpt9TSsuQ,7098
pymodbus/datastore/remote.py,sha256=3xpPb_3MAQp0xZJmnAk08cuvHOHyxOWI81X2pt9vmJ0,4760
pymodbus/datastore/simulator.py,sha256=BMY4QiUDTQzLFa9q8tPmOtbkQ0dDM8td_51ql6ZygF0,30296
pymodbus/datastore/store.py,sha256=M7c2r6ITDmtKftjQ2SKaTFY90cY-YjscVpqiUhKTt5c,11410
pymodbus/device.py,sha256=tMr-Q5Roq4eWbXLb6G2G2HOyEcahj-QaHQvuC6toyC4,22669
pymodbus/diag_message.py,sha256=PJ_4cfywpEA6lzTY50wrJNNowg-bfbvIuJ86x4xb2sY,30457
pymodbus/events.py,sha256=ToYj2f0j_2IEjj2qolfd0aacUGHWH5kgT2MbZx_8PMk,6481
pymodbus/exceptions.py,sha256=UlWyUflzua8wfOIeqKGgXAIRl4cOzIgaL_536jSE4YE,3212
pymodbus/factory.py,sha256=BfgxNTeG1R_n6r6172OCiYPx_09zXqLFtTrBvTjpIQ4,13673
pymodbus/file_message.py,sha256=7mj8dBKlx_OuVMouCxflYAxLUHsWbzAf0w2CXYKQEPo,14708
pymodbus/framer/__init__.py,sha256=NUsWzM-odS8v-LLBu41oDLT1hIEQfMwnnzp2vDHzqHw,509
pymodbus/framer/__pycache__/__init__.cpython-311.pyc,,
pymodbus/framer/__pycache__/ascii_framer.cpython-311.pyc,,
pymodbus/framer/__pycache__/base.cpython-311.pyc,,
pymodbus/framer/__pycache__/binary_framer.cpython-311.pyc,,
pymodbus/framer/__pycache__/rtu_framer.cpython-311.pyc,,
pymodbus/framer/__pycache__/socket_framer.cpython-311.pyc,,
pymodbus/framer/__pycache__/tls_framer.cpython-311.pyc,,
pymodbus/framer/ascii_framer.py,sha256=fJLpDzjMN0veLZpN3Nw-7myMKkzr7HlwIc6ljNFG8KE,5303
pymodbus/framer/base.py,sha256=BOjQJAHHx9qbQxPCsdj3BpT4IOQH1TspB9R_1P9ED-o,4448
pymodbus/framer/binary_framer.py,sha256=da1dDslAOJ-utjBXIuDiehqinitJEOYhbYPegPsWkk8,6059
pymodbus/framer/rtu_framer.py,sha256=u5olJpZy2HDzPplMWI5GLIvx-RPXN_jhg74KJPD0r_c,12247
pymodbus/framer/socket_framer.py,sha256=yreGHkooajceWJVHsz3ACn3AsSyuWXCxL2GDbGVlvXQ,6445
pymodbus/framer/tls_framer.py,sha256=x6gpw6n6LEBr6mCECoGncvoxR3m7_2_iplSKokJpboA,4332
pymodbus/logging.py,sha256=zfe5pEiUZRO9smqkOAqBC9sEMIa0wGkluXRfxmJwOXU,3921
pymodbus/mei_message.py,sha256=BVUoqwqhJZ2mT-Lc12kSfJATSEDNFH3avuyA1zuCT0A,7846
pymodbus/other_message.py,sha256=kpXraHRQT_C3gc551fbRYFdYJIgvl7opkE7NT9fZy6I,15363
pymodbus/payload.py,sha256=nNLYZuEIE1y-b4HgpeNk6RlGsMvAmIOVqCFa1xWjC50,15651
pymodbus/pdu.py,sha256=PnfL9ra19uFrh7FTA3llw7SF6YY1CWh_vZA2x8bGgrw,7717
pymodbus/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
pymodbus/register_read_message.py,sha256=p5gI7weSjTYkKmOvolOm3-hzCmsF8eORA4pnfTPO1oc,14208
pymodbus/register_write_message.py,sha256=jvIM38MB4Ix4Ev7aZhrDyBXgye3qSIhI08FTBf7xAnc,12510
pymodbus/repl/__init__.py,sha256=H7Duv6XNOtBHrtFRWNyYK5pfdD3KqmBlUIok9m3MRH4,28
pymodbus/repl/__pycache__/__init__.cpython-311.pyc,,
pymodbus/repl/client/__init__.py,sha256=p1_pyKx2oAwCLVmkD2ojafzz7lNnZ8zuc70Pto_do_U,19
pymodbus/repl/client/__pycache__/__init__.cpython-311.pyc,,
pymodbus/repl/client/__pycache__/completer.cpython-311.pyc,,
pymodbus/repl/client/__pycache__/helper.cpython-311.pyc,,
pymodbus/repl/client/__pycache__/main.cpython-311.pyc,,
pymodbus/repl/client/__pycache__/mclient.cpython-311.pyc,,
pymodbus/repl/client/completer.py,sha256=UeWhTtFzsZwXT_lRl80nNjWaIFMcAKy9ol2sBJu9eRA,5187
pymodbus/repl/client/helper.py,sha256=pUIHMs4o5DBcOkH5RWPHjUvyxIVUNakt5y2kCRwQP_I,9445
pymodbus/repl/client/main.py,sha256=pqKiPmqpE0aDcZQiBo9IHBB1yV5PGrnZHLNfHbthIP8,13001
pymodbus/repl/client/mclient.py,sha256=nSovvlC4XMWS_koLaNWW-BDeDAjusJ3vKYWBu2V3vJI,23074
pymodbus/repl/server/__init__.py,sha256=89Q5JyjMubezLlEjl7LufhK1WXF0dgbpANMwjS3fcD0,19
pymodbus/repl/server/__pycache__/__init__.cpython-311.pyc,,
pymodbus/repl/server/__pycache__/cli.cpython-311.pyc,,
pymodbus/repl/server/__pycache__/main.cpython-311.pyc,,
pymodbus/repl/server/cli.py,sha256=PP0JKOelNsNTD6PqZdrEBFrmeJ84nmzfjlh_4WFdIr8,6912
pymodbus/repl/server/main.py,sha256=Or3ua8kHnurzwHDJiYtl2lIpzW7TXNOJ32NZbrJF0n0,6292
pymodbus/server/__init__.py,sha256=q6EiG-hXtjtj-OP5a39qmUPlFiF18HuAnk7J0j3JNJE,996
pymodbus/server/__pycache__/__init__.cpython-311.pyc,,
pymodbus/server/__pycache__/async_io.cpython-311.pyc,,
pymodbus/server/async_io.py,sha256=1ghZCWe6_NABmtLZiDSLZMMVfBC7xX8GdFPmiZku3d8,26157
pymodbus/server/reactive/__init__.py,sha256=TkIbeFNGu-JC0VbN64G4ImZOZdWUTZyXY0x1IQY0OQk,18
pymodbus/server/reactive/__pycache__/__init__.cpython-311.pyc,,
pymodbus/server/reactive/__pycache__/default_config.cpython-311.pyc,,
pymodbus/server/reactive/__pycache__/main.cpython-311.pyc,,
pymodbus/server/reactive/default_config.py,sha256=JHARbM67kSMUShtU67DMBdGlmd93kMWHY7Q2XT_gpdQ,1549
pymodbus/server/reactive/main.py,sha256=SGJn-Cd7ILe2fmQ-jLWlMur2jEDXdxbEwl4dwNVM1tg,17967
pymodbus/server/simulator/__init__.py,sha256=TkIbeFNGu-JC0VbN64G4ImZOZdWUTZyXY0x1IQY0OQk,18
pymodbus/server/simulator/__pycache__/__init__.cpython-311.pyc,,
pymodbus/server/simulator/__pycache__/custom_actions.cpython-311.pyc,,
pymodbus/server/simulator/__pycache__/http_server.cpython-311.pyc,,
pymodbus/server/simulator/__pycache__/main.cpython-311.pyc,,
pymodbus/server/simulator/custom_actions.py,sha256=jU6gQHgWU13jpinx91eYRbu6arEzARThU-M4XoMGRNU,186
pymodbus/server/simulator/http_server.py,sha256=2rOOshqBR13uSvVdhjirCGoEgnqa1zZPP8PuXtinBBk,25479
pymodbus/server/simulator/main.py,sha256=Vw-mBUa6Qe3QYExUd2WLOVTg_8pPwEL2Wgtn0XIDXlI,4199
pymodbus/server/simulator/setup.json,sha256=K_6WivO-I3ONTTYi3oeTejhWQYRdu4piQJo_FHnoD3M,7619
pymodbus/server/simulator/web/apple120.png,sha256=kymnXpkuOnlk13QIlBHZ30RXqYL0Mep6PQ7BMHhON14,11369
pymodbus/server/simulator/web/apple152.png,sha256=56hV4HGeyfnBlbHgnMt_shWuVTJB7dKXx7EQpt9rjEc,15391
pymodbus/server/simulator/web/apple60.png,sha256=2YegT0ZTkBCQ3v32S8dmUOqCLdXXg2UnFp4QKYMWGrQ,4817
pymodbus/server/simulator/web/apple76.png,sha256=LDrwW4YW1ijbx1k2i384wka05U9NvBW5yvNfCTEXDe0,6344
pymodbus/server/simulator/web/favicon.ico,sha256=-eUdKiH2TBpF3HHawVjLnIaP_Y1oqe2t_hS0dOCY2ZY,12014
pymodbus/server/simulator/web/generator/calls,sha256=Lr7tTaTf8M7XT2vlrvROqLjyA07miMOExdsi7tmu60A,4314
pymodbus/server/simulator/web/generator/log,sha256=D-lDQKT0SZoNzTGZL-B05RdjvPdRF_6WxB5mJrpnaGc,1132
pymodbus/server/simulator/web/generator/pymodbus_icon_original.png,sha256=0VIAZ8wS-SP9qUfBVHaChzcNrAQzojyacFnizcieLIY,5850
pymodbus/server/simulator/web/generator/registers,sha256=7qD_pRY8szWJp9miATGVdCrUSkV1m0U7ZcRGVPsuq2U,2710
pymodbus/server/simulator/web/generator/server,sha256=lvkxOEA9HtP9cWhcabWK4veFIiNDpg4HunyvcedVul0,893
pymodbus/server/simulator/web/index.html,sha256=TQO1qDFdCAvEF5t2yS2xJ-IUuvg1EcYAP_0qTxvex2c,1944
pymodbus/server/simulator/web/pymodbus.css,sha256=0Nc2PYZ6bEgvOnvvSXICJvAhFJI-m7XOFDrCNIfcieA,919
pymodbus/server/simulator/web/welcome.html,sha256=6VLVyWdXMIVawjE56IkXITlotkXG-kJhu5zjjzZOXuI,710
pymodbus/transaction.py,sha256=RBjTf5dcL5HcdKdLkJvdr4DrsKQsLFzKT_I8s58g9RQ,23327
pymodbus/transport/__init__.py,sha256=d7MKqUCz_a7QWR9Dm2ILYdPIGuVI3ZdeFM7xUoa0X74,415
pymodbus/transport/__pycache__/__init__.cpython-311.pyc,,
pymodbus/transport/__pycache__/transport.cpython-311.pyc,,
pymodbus/transport/__pycache__/transport_serial.cpython-311.pyc,,
pymodbus/transport/transport.py,sha256=f0Xy13Uecc3F8Rk46e66-jU_DikPlg_eGfoeMDulGBE,22631
pymodbus/transport/transport_serial.py,sha256=iGkkHqKJGYk3OrPnK68JogAsWugxKGtT7xVgHDPIja4,5418
pymodbus/utilities.py,sha256=0uwZtN4aPzouKMZRg-dFtxTrV0me7LFMOki0EvMtwW0,7759

View File

@@ -0,0 +1,5 @@
Wheel-Version: 1.0
Generator: bdist_wheel (0.41.2)
Root-Is-Purelib: true
Tag: py3-none-any

View File

@@ -0,0 +1,4 @@
[console_scripts]
pymodbus.console = pymodbus.repl.client.main:main
pymodbus.server = pymodbus.repl.server.main:app
pymodbus.simulator = pymodbus.server.simulator.main:main

View File

@@ -0,0 +1 @@
pymodbus

View File

@@ -0,0 +1 @@