Skip to main content

A library to easily interface with modbus devices, be it over TCP, unabto etc.

Project description

Modbus Event Connect

Welcome to Modbus Event Connect – a user-friendly Python library designed to simplify the configuration of Modbus devices. Whether you're connecting via TCP or Unabto, Modbus Event Connect has got you covered.

Features

  • Easy Configuration: Intuitive setup for Modbus devices.
  • Flexible Connectivity: Supports connection through TCP or Unabto.
  • User-Friendly: Handles the interaction; you just define the Modbus register items.

Getting Started

  1. Installation: Install the library using pip.
    pip install modbus-event-connect
    
  2. Basic Usage: Define your DataPointKeys to a Modbus device with minimal code.
    from collections.abc import Callable
    from src.modbus_event_connect import *
    
    class MyDatapointKey(ModbusDatapointKey):
        MAJOR_VERSION = "major_version"
        
    class MySetpointKey(ModbusSetpointKey):
        MY_SETPOINT = "my_setpoint"
    
    class MyModbusDevice(ModbusDeviceBase):
        def __init__(self, device_info: ModbusDeviceInfo):
            super().__init__(device_info)
    
            self._attr_manufacturer="<manufacturer>"
            self._attr_model_name="<model_name>"
            self._attr_datapoints = [
                ModbusDatapoint(key=MyDatapointKey.MAJOR_VERSION, read_address=1, divider=1, signed=True),
            ]
            self._attr_setpoints = [
                ModbusSetpoint(key=MySetpointKey.MY_SETPOINT, read_address=1, write_address=1 ,divider=1, min=1, max=10, signed=True),
            ]
    
    class MyModbusDeviceAdapter(ModbusDeviceAdapter):
    
        def _translate_to_model(self, device_info: ModbusDeviceInfo) -> Callable[[ModbusDeviceInfo], ModbusDevice]|None: 
            return MyModbusDevice
    
    class MyModbusTCPEventConnect(ModbusTCPEventConnect):
    _attr_adapter = MyModbusDeviceAdapter()
    

Documentation

Client Capabilities

The Modbus EventConnect offers a range of methods to facilitate seamless interaction with Modbus devices. Key features include:

  • Subscribe: Easily subscribe to data points and receive updates.
  • Unsubscribe: Manage your subscriptions effortlessly.
  • Comprehensive Methods: A variety of methods to handle different Modbus operations.

Let the EventConnect handle the communication, allowing you to focus on responding to changes and managing your Modbus devices efficiently.

Disclaimer

Modbus Event Connect is provided "as is", without warranty of any kind. The authors and contributors are not responsible for any damage or data loss that may occur from using this library. Users are solely responsible for ensuring the proper and safe operation of their Modbus devices.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

modbus_event_connect-0.1.0.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

modbus_event_connect-0.1.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file modbus_event_connect-0.1.0.tar.gz.

File metadata

  • Download URL: modbus_event_connect-0.1.0.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for modbus_event_connect-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3ea23136158af9efe4a138cad48ef804de49b6cca039686ae076294ad1b0abd9
MD5 0a9984cac358047f813d5f2269642f11
BLAKE2b-256 c6ad6e44ad7aa18b99f53bd84fd4e07fec2c3ecaed5102b13e2e619b9ff5032e

See more details on using hashes here.

File details

Details for the file modbus_event_connect-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for modbus_event_connect-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 52128dde4d3cc043da50ed3db0eb687e651b06fad4b2400e0e0e81d1dde63905
MD5 3dd6b50de1fdbf9434e2dae586985ef8
BLAKE2b-256 e73fda1ab4d22804a8d0c51b16069ed0722cddbaa044a6ce89e6ce9d45abf466

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page