# python-owen Библиотека для работы с измерительными приборами фирмы [Овен](https://owen.ru) по протоколам Modbus RTU и ОВЕН. ## 🚀 Быстрый старт ### Установка ```bash pip install pymodbus==2.5.3 pip install pyserial ``` ⚠️ **Важно:** Библиотека работает только с `pymodbus==2.5.3`. Новые версии не поддерживаются! ### Пример использования ```python from owen import OwenClient # Подключение к прибору client = OwenClient(port='/dev/ttyUSB0', baudrate=9600, address=16) # Чтение температуры temperature = client.read_temperature() print(f"Температура: {temperature}°C") # Установка уставки client.write_setpoint(75.0) ``` ## 📋 Поддерживаемые приборы ### Терморегуляторы | Модель | Страница продукта | Протокол | |--------|-------------------|----------| | [ТРМ101](https://owen.ru/product/trm101) | [Документация](https://owen.ru/product/trm101) | Modbus, ОВЕН | | [ТРМ136](https://owen.ru/product/trm136) | [Документация](https://owen.ru/product/trm136) | Modbus, ОВЕН | | [ТРМ138](https://owen.ru/product/trm138) | [Документация](https://owen.ru/product/trm138) | Modbus, ОВЕН | | [ТРМ148](https://owen.ru/product/trm148) | [Документация](https://owen.ru/product/trm148) | Modbus, ОВЕН | | [ТРМ151](https://owen.ru/product/trm151) | [Документация](https://owen.ru/product/trm151) | Modbus, ОВЕН | | [ТРМ200](https://owen.ru/product/trm200) | [Документация](https://owen.ru/product/trm200) | Modbus, ОВЕН | | [ТРМ201](https://owen.ru/product/trm201) | [Документация](https://owen.ru/product/trm201) | Modbus, ОВЕН | | [ТРМ202](https://owen.ru/product/trm202) | [Документация](https://owen.ru/product/trm202) | Modbus, ОВЕН | | [ТРМ210](https://owen.ru/product/trm210) | [Документация](https://owen.ru/product/trm210) | Modbus, ОВЕН | | [ТРМ212](https://owen.ru/product/trm212) | [Документация](https://owen.ru/product/trm212) | Modbus, ОВЕН | | [ТРМ251](https://owen.ru/product/trm251) | [Документация](https://owen.ru/product/trm251) | Modbus, ОВЕН | | [2ТРМ1](https://owen.ru/product/2trm1) | [Документация](https://owen.ru/product/2trm1) | Modbus, ОВЕН | ### Программируемые реле | Модель | Страница продукта | Протокол | |--------|-------------------|----------| | [ПР100](https://owen.ru/product/pr100) | [Документация](https://owen.ru/product/pr100) | **Только Modbus** | > **Примечание:** ПР100 не поддерживает протокол ОВЕН! ## ⚙️ Настройка приборов ### Параметры связи Для работы с прибором необходимо настроить: - **Скорость**: 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200 бод - **Адрес устройства**: 0-255 (по умолчанию 16) - **Формат данных**: 8N1, 8E1, 8O1 ### Пример настройки ТРМ ```python # Для RS-485 client = OwenClient( port='/dev/ttyUSB0', # COM-порт (Windows: 'COM3') baudrate=9600, # Скорость обмена address=16, # Адрес прибора timeout=1.0 # Таймаут ответа ) ``` ## 🔧 Расширение функционала Библиотека поддерживает добавление новых моделей приборов. Для этого необходимо: 1. Открыть файл `owen/device.py` 2. Добавить конфигурацию для вашей модели по аналогии с существующими 3. Указать карту регистров согласно документации прибора Пример добавления нового прибора: ```python DEVICES = { "ТРМ999": { "registers": { "temperature": {"address": 0x0001, "type": "float"}, "setpoint": {"address": 0x0005, "type": "float"}, } } } ``` ## 📖 Дополнительная информация - [Официальный сайт Овен](https://owen.ru) ## 📄 Лицензия Проект является форком: https://github.com/RAA80/python-owen ## ⚠️ Известные проблемы 1. **pymodbus > 2.5.3** - не совместимы с текущей версией библиотеки 2. **ПР100** - поддерживает только Modbus, протокол ОВЕН не работает 3. Не все модели были протестированы в реальных условиях