Code:
modBusUnit: '71' #(optional) default: slaveUnit aus der Plugin-Konfig
https://github.com/ivan73/plugins-mo...lop/modbus_tcp
modBusUnit: '71' #(optional) default: slaveUnit aus der Plugin-Konfig
, und das is genau hier der fall..
from pymodbus.client.sync
import ModbusTcpClient as ModbusClient
from pymodbus.payload import BinaryPayloadDecoder
from pymodbus.constants import Endian
client = ModbusClient('your IP address here', port=502)
client.connect()
INVERTER = 0x1 #1 in decimal METER = 0xf0 #240 in decimal
def show_import_read():
""" shows import energy count of meter
register 40138
2 registers
value is Wh returns float32 """
myresponse = client.read_holding_registers(40138-1, 2, unit=METER)
decoder = BinaryPayloadDecoder.fromRegisters(myresponse.registers,byteorder=Endian.Big)
return decoder.decode_32bit_float()
slaveUnit:
type: num
default: 1
description:
de: 'Slave-Addresse der zu lesenden Modbus-Einheit'
en: 'slave-address of the Modbus-Unit to read'
modBusUnit: '71' #(optional) default: 1
mydevice:
geraetename:
type: str
value: ''
modBusAddress: 40030
modBusUnit: '71' #(optional) default: 1
modBusDataType: 'string16' #(optional) default: uint16
#modBusFactor: '1' #(optional) default: 1
modBusByteOrder: 'Endian.Little' #(optional) default: 'Endian.Big'
modBusWordOrder: 'Endian.Little' #(optional) default: 'Endian.Big'
leistung_AC:
type: num
value: '0'
modBusAddress: 40048
modBusUnit: '71' #(optional) default: 1
#modBusDataType: 'uint16' #(optional) default: uint16
modBusFactor: '0.001' #(optional) default: 1
modBusByteOrder: 'Endian.Little' #(optional) default: 'Endian.Big'
modBusWordOrder: 'Endian.Little' #(optional) default: 'Endian.Big'
leistung_DC:
type: num
value: ''
modBusAddress: 40050
modBusUnit: '71' #(optional) default: 1
modBusDataType: 'int16' #(optional) default: uint16
modBusFactor: '0.001' #(optional) default: 1
modBusByteOrder: 'Endian.Little' #(optional) default: 'Endian.Big'
modBusWordOrder: 'Endian.Little' #(optional) default: 'Endian.Big'
temperatur:
type: num
value: ''
modBusAddress: 40052
modBusUnit: '71' #(optional) default: 1
modBusDataType: 'float32 #(optional) default: uint16
#modBusFactor: '1' #(optional) default: 1
modBusByteOrder: 'Endian.Little' #(optional) default: 'Endian.Big'
modBusWordOrder: 'Endian.Little' #(optional) default: 'Endian.Big'


[Install] WantedBy=default.target [Unit] Description=Maexle's neues Perpetuum Mobile After=network.target Before=smarthome.service [Service] PIDFile=/usr/local/smarthome/var/run/maexle.pid ExecStart=/usr/bin/socat -s -ly pty,link=/dev/maexle,setuid=root,raw tcp:192.168.100.85:der_verwendete_port User=root Restart=always RestartSec=10 Type=simple

| modbus_port | str | Modbus-Port, über den die Trovis verbunden ist |
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.


Einen Kommentar schreiben: