Exemple #1
0
#!/usr/bin/python
# coding: utf-8

from settings import PM_config, PM_SETTINGS_LABELS, InfluxDBConfig
from SchneiderElectric_iEM3255 import SchneiderElectric_iEM3255

from influxdb import InfluxDBClient
import time
import datetime

from logmanagement import logmanagement
log = logmanagement.getlog('main', 'utils').getLogger()


def main():
    # client = InfluxDBClient(host=PM_config['influxDB'], port=8086)

    PM_cacheEnabled = PM_config['cacheEnabled']
    pm = SchneiderElectric_iEM3255(PM_config['host'], PM_config['port'],
                                   int(PM_config['address']),
                                   PM_config['start_reg'],
                                   PM_config['max_regs'], PM_config['timeout'],
                                   PM_config['endian'],
                                   PM_config['addressoffset'], PM_cacheEnabled,
                                   PM_config['base_commands'])

    print("Connected? %s" % pm.mb.isConnected)

    info = {}

    for i in PM_SETTINGS_LABELS:
#!/usr/bin/python
# coding: utf-8
# Copyright 2017 Luca Berton
__author__ = 'lucab85'

import sys

from pymodbus.constants import Endian
from pymodbus.client.sync import ModbusSerialClient, ModbusTcpClient
from pymodbus.payload import BinaryPayloadDecoder, BinaryPayloadBuilder
from settings import MODBUS_CONNECTIONRETRY
import unittest

from logmanagement import logmanagement
log = logmanagement.getlog('ModbusWrapperClient', 'utils').getLogger()


class ModbusWrapperClient():
    def __init__(self,
                 modbusUnitAddress,
                 maxRegsRead,
                 modbusTimeout,
                 endian="little"):
        self.client = None
        self.modbusAddress = modbusUnitAddress
        self.bufferStart = 0
        self.bufferEnd = 0
        self.data_buffer = None
        self.maxRegsRead = maxRegsRead
        self.timeout = modbusTimeout
        if endian == 'auto':
Exemple #3
0
#!/usr/bin/python
# coding: utf-8
# Copyright 2017 Luca Berton
__author__ = 'lucab85'

import sys

from ModbusWrapperClient import ModbusWrapperClient
from settings import PATH_PM_SCHNEIDERELECTRICIEM3255, PM_settings, PM_config
import math
import datetime

from logmanagement import logmanagement
log = logmanagement.getlog('SchneiderElectriciEM3255',
                           'powermeter').getLogger()


class SchneiderElectric_iEM3255():
    def __init__(self,
                 PM_modbusHost,
                 PM_modbusPort,
                 PM_modbusAddress,
                 PM_startReg,
                 PM_maxRegsRead,
                 PM_timeout,
                 PM_endian,
                 PM_modbusAddressoffset=0,
                 PM_cacheEnabled=False,
                 PM_base_commands=0):
        self.mb = ModbusWrapperClient(PM_modbusAddress, PM_maxRegsRead,
                                      PM_timeout, PM_endian)