solis2mqtt
solis2mqtt copied to clipboard
OSError: [Errno 0] Error
I have the following problem when executing the script:
pi@raspberrypi:~ $ cd /opt/solis2mqtt
pi@raspberrypi:/opt/solis2mqtt $ python3 ./solis2mqtt.py
2023-08-05 11:46:31,306 - root - Starting up...
Traceback (most recent call last):
File "./solis2mqtt.py", line 189, in <module>
start_up(args.daemon, args.verbose)
File "./solis2mqtt.py", line 180, in start_up
Solis2Mqtt().main()
File "./solis2mqtt.py", line 27, in __init__
self.mqtt = Mqtt(self.cfg['inverter']['name'], self.cfg['mqtt'])
File "/opt/solis2mqtt/mqtt.py", line 13, in __init__
self.connect(cfg['url'], cfg['port'])
File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 914, in connect
return self.reconnect()
File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 1073, in reconnect
sock.do_handshake()
File "/usr/lib/python3.7/ssl.py", line 1117, in do_handshake
self._sslobj.do_handshake()
OSError: [Errno 0] Error
pi@raspberrypi:/opt/solis2mqtt $
My current version of Python: 3.9.9
My manually adapted files: 1)solis2mqtt
- name: active_power
description: Active Power
unit: W
active: true
modbus:
register: 33004
read_type: long
function_code: 4
signed: false
homeassistant:
device: sensor
state_class: measurement
device_class: power
- name: inverter_temp
description: Inverter temperature
unit: "°C"
active: true
modbus:
register: 33041
read_type: register
function_code: 4
number_of_decimals: 1
signed: false
homeassistant:
device: sensor
state_class: measurement
device_class: temperature
- name: total_power
description: Inverter total power generation
unit: kWh
active: true
modbus:
register: 33008
read_type: long
function_code: 4
signed: true
homeassistant:
device: sensor
state_class: total_increasing
device_class: energy
- name: generation_today
description: Energy generated today
unit: kWh
active: true
modbus:
register: 33014
read_type: register
function_code: 4
number_of_decimals: 1
signed: false
homeassistant:
device: sensor
state_class: total_increasing
device_class: energy
- name: generation_yesterday
description: Energy generated yesterday
unit: kWh
active: true
modbus:
register: 33015
read_type: register
function_code: 4
number_of_decimals: 1
signed: false
homeassistant:
device: sensor
state_class: total_increasing
device_class: energy
- name: total_dc_output_power
description: Total DC output power
unit: W
active: true
modbus:
register: 33006
read_type: long
function_code: 4
signed: false
homeassistant:
device: sensor
state_class: measurement
device_class: power
- name: energy_this_month
description: Energy generated this month
unit: kWh
active: true
modbus:
register: 33010
read_type: long
function_code: 4
signed: false
homeassistant:
device: sensor
state_class: total_increasing
device_class: energy
- name: generation_last_month
description: Energy generated last month
unit: kWh
active: true
modbus:
register: 33012
read_type: long
function_code: 4
signed: false
homeassistant:
device: sensor
state_class: total_increasing
device_class: energy
- name: generation_this_year
description: Energy generated this year
unit: kWh
active: true
modbus:
register: 33016
read_type: long
function_code: 4
signed: false
homeassistant:
device: sensor
state_class: total_increasing
device_class: energy
- name: generation_last_year
description: Energy generated last year
unit: kWh
active: true
modbus:
register: 33018
read_type: long
function_code: 4
signed: false
homeassistant:
device: sensor
state_class: total_increasing
device_class: energy
# frequency currently not supported by home-assistant, topic is in discussion
#- name: grid_frequency
# description: Grid Frequency
# unit: Hz
# active: true
# modbus:
# register: 33042
# read_type: register
# function_code: 4
# number_of_decimals: 2
# signed: false
# homeassistant:
# device: sensor
# state_class: measurement
# device_class: frequency
- name: system_datetime
description: System DateTime
unit:
active: true
modbus:
register: [33072, 33073, 33074, 33075, 33076, 33077]
# [year, month, day, hour, minute, seconds]
read_type: composed_datetime
function_code: 4
homeassistant:
device: sensor
state_class:
device_class: timestamp
- name: serial_number
description: Serial Number
unit:
active: false
modbus:
register: 33229
read_type: register
function_code: 4
number_of_decimals: 0
signed: false
homeassistant:
device: sensor
state_class:
device_class:
- name: power_limitation
description: Power limitation
unit: "%"
active: true
modbus:
register: 33051
read_type: register
function_code: 3
write_function_code: 6
number_of_decimals: 2
signed: false
homeassistant:
device: number
min: 0
max: 100
step: 0.01
state_class:
device_class:
- name: on_off
description: On/Off
unit:
active: true
modbus:
register: 33006
read_type: register
function_code: 3
write_function_code: 6
number_of_decimals: 0
signed: false
homeassistant:
device: switch
payload_on: 190
payload_off: 222
state_class:
device_class:
2) config.yaml
device: /dev/ttyUSB1
mqtt:
url: 192.168.178.XXX
port: 1883
user: Tom
passwd: mypassword
My inverter is: Solis 4G Mini Single-phase inverter
I use this adapter:
Ich habe das problem selber gelöst. Einfach das komplette "config.yaml" Skript verwendet:
device: /dev/ttyUSB1
slave_address: 1
poll_interval: 60
poll_interval_if_off: 600
inverter:
name: solis2mqtt
manufacturer: Ginlong Technologies
model: solis2mqtt
mqtt:
url: 192.168.178.XXX
port: 1883
use_ssl: false
validate_cert: false
user: Tom
passwd: mypassword
I think the "use_ssl: false" and/or "validate_cert: false" was the key changer👍