Skip to content

semp-tcp.py issue #28

@git3smurf

Description

@git3smurf

When I run semp-tcp.py i get this error:

root@SEmeterproxy:/solaredge_meterproxy# python3 semp-tcp.py -v
2023-05-13 10:56:28 WARNING: No meters defined in semp-tcp.conf
Traceback (most recent call last):
File "semp-tcp.py", line 256, in
server = StartTcpServer(
TypeError: StartTcpServer() got an unexpected keyword argument 'framer'
root@SEmeterproxy:/solaredge_meterproxy#

this is my configuration file (semp-tcp.conf)
server]

Serving IP address.

optional, default: all interfaces

address = "192.168.40.70"

Serving port.

optional, default: 5502

#port = 4196

Modbus frame type, set to rtu for Modbus RTU over TCP

optional, default: socket

#framer = socket
framer = "rtu"

Logging level, CRITICAL, ERROR, WARNING, INFO, DEBUG

optional, default: INFO

log_level = DEBUG

Masqueraded meters, comma separated.

optional, default: ''

#meters = meter1, meter2

Meters defined in [server] need a config section, one per meter.

Depending on the type of meter that is to be masqueraded, you can

define a number of generic and type specific variables.

Modbus address of the meter as defined in the SolarEdge inverter.

This value needs to be unique.

optional, default: 2

#dst_address = 2

Source meter type, which corresponds to a script in /devices.

The generic.py device returns null values.

optional, default: generic

#type = generic

Masqueraded serial number.

Need not be correct, must be unique, must be an integer.

optional, default: 987654

#serial_number = 987654

Current transformer amperage rating.

optional, default: 5

ct_current = 10

Current transformer direction inversion, set to 1 if required.

optional, default: 0

#ct_inverted = 0

Offset between phases, set to 0, 90, 120 or 180.

optional, default: 0

#phase_offset = 120

Number of seconds between value refreshes.

It also mentions "no meters defined" while on default ... but when I set meters = meter1 in semp-tcp.conf I get this...

root@SEmeterproxy:/solaredge_meterproxy# python3 semp-tcp.py -v
Traceback (most recent call last):
File "semp-tcp.py", line 153, in
address = confparser[meter].getint("dst_address", fallback=default_config["meters"]["dst_address"])
File "/usr/lib/python3.8/configparser.py", line 960, in getitem
raise KeyError(key)
KeyError: 'meter1'
root@SEmeterproxy:/solaredge_meterproxy#

Then it hangs on line 153 ...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions