lluiscab / MPQTT

MPQTT is a linux program used to extract data from Voltronic / Axpert / MasterPower inverters and sending it to MQTT for use in Home Assistant
10 stars 4 forks source link

Run and stop??? #4

Open Saentist opened 2 years ago

Saentist commented 2 years ago

I have strange problem wit MPQTT. When start it from command line i get this

Starting MPQTT version 1.1.0
Enabled debug output
 INFO  mpqtt > Connecting to MQTT Broker at: 192.168.1.54:1883
 INFO  mpqtt > Connected to MQTT Broker
 INFO  mpqtt::mqtt_discovery > Running MQTT Discovery
 INFO  mpqtt::mqtt_discovery > Registering error sensor
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qid_serial_number
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpi_protocol_id
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qvfw_major
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qvfw_minor
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qvfw2_major
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qvfw2_minor
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qmod_mode
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_grid_rating_voltage
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_grid_rating_current
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_ac_output_rating_voltage
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_ac_out_rating_frequency
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_ac_out_rating_current
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_ac_out_rating_apparent_power
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_ac_out_rating_active_power
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_battery_rating_voltage
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_battery_recharge_voltage
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_battery_under_voltage
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_battery_bulk_voltage
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_battery_float_voltage
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_battery_redischarge_voltage
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_battery_type
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_max_ac_charging_current
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_max_charging_current
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_input_voltage_range
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_output_source_priority
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_charge_source_priority
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_machine_type
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_topology
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiri_output_mode
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpigs_grid_voltage
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpigs_grid_frequency
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpigs_ac_out_voltage
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpigs_ac_out_frequency
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpigs_ac_out_apparent_power
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpigs_ac_out_active_power
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpigs_out_load_percent
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpigs_bus_voltage
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpigs_battery_voltage
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpigs_battery_charge_current
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpigs_battery_capacity
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpigs_inverter_heat_sink_temp
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpigs_pv_input_current
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpigs_pv_input_voltage
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpigs_battery_scc_voltage
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpigs_battery_discharge_current
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpigs_device_status_charge_status
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpigs_device_status_active_load
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpigs_device_status_active_load
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_inverter_fault
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_bus_over
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_bus_under
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_bus_soft_fail
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_line_fail
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_opv_short
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_inverter_voltage_too_low
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_inverter_voltage_too_high
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_over_temperature
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_fan_locked
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_battery_voltage_high
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_battery_low_alarm
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_battery_under_shutdown
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_over_load
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_eeprom_fault
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_inverter_over_current
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_inverter_soft_fail
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_self_test_fail
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_op_dc_voltage_over
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_bat_open
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_current_sensor_fail
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_battery_short
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_power_limit
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_pv_voltage_high
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_mppt_overload_fault
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_mppt_overload_warning
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_battery_too_low_to_charge
 DEBUG masterpower_api::codec > Encoding command QuerySerialNumber.
 TRACE masterpower_api::codec > Command payload (QuerySerialNumber): ().
 TRACE masterpower_api::codec > Encoded command (QuerySerialNumber): [81, 73, 68, 214, 234, 13]
 TRACE masterpower_api::inverter > Writing command to stream
 DEBUG masterpower_api::codec    > Decoding response QuerySerialNumber.
 TRACE masterpower_api::codec    > Decoding response (QuerySerialNumber): [40, 53, 53, 51, 53, 53, 53].
 ERROR mpqtt                     > InvalidResponseCrcSum

then proces stop

after that i start it again ang get different output

...
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_mppt_overload_fault
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_mppt_overload_warning
 INFO  mpqtt::mqtt_discovery > Registering sensor mpqtt_qpiws_battery_too_low_to_charge
 DEBUG masterpower_api::codec > Encoding command QuerySerialNumber.
 TRACE masterpower_api::codec > Command payload (QuerySerialNumber): ().
 TRACE masterpower_api::codec > Encoded command (QuerySerialNumber): [81, 73, 68, 214, 234, 13]
 TRACE masterpower_api::inverter > Writing command to stream
 DEBUG masterpower_api::codec    > Decoding response QuerySerialNumber.
 TRACE masterpower_api::codec    > Decoding response (QuerySerialNumber): [40, 53, 53, 51, 53, 53, 53, 51, 53, 53, 53, 51, 53, 53, 53, 50, 253].
 TRACE masterpower_api::codec    > Decoded response (QuerySerialNumber): QIDResponse { serial_number: 55355535553555 }
 DEBUG masterpower_api::codec    > Encoding command QueryProtocolId.
 TRACE masterpower_api::codec    > Command payload (QueryProtocolId): ().
 TRACE masterpower_api::codec    > Encoded command (QueryProtocolId): [81, 80, 73, 190, 172, 13]
 TRACE masterpower_api::inverter > Writing command to stream
 ERROR mpqtt                     > Io(Kind(UnexpectedEof))

but in any case it finish with error ERROR mpqtt > Io(Kind(UnexpectedEof))

I see inverter in Home Assistant MQTT with 75 objects

MPQTT - AC Output Rating Active Voltage sensor.mpqtt_ac_output_rating_active_voltage    MQTT    —   —   —   
MPQTT - AC Output Rating Apparent Power sensor.mpqtt_ac_output_rating_apparent_power    MQTT    —   —   —   
MPQTT - AC Output Rating Current    sensor.mpqtt_ac_output_rating_current   MQTT    —   —   —   
MPQTT - AC Output Rating Frequency  sensor.mpqtt_ac_output_rating_frequency MQTT    —   —   —   
MPQTT - AC Output Rating Voltage    sensor.mpqtt_ac_output_rating_voltage   MQTT    —   —   —   
MPQTT - Active load sensor.mpqtt_active_load    MQTT    —   —   —   
MPQTT - Bat open    sensor.mpqtt_bat_open   MQTT    —   —   —   
MPQTT - Battery Bulk Voltage    sensor.mpqtt_battery_bulk_voltage   MQTT    —   —   —   
MPQTT - Battery capacity    sensor.mpqtt_battery_capacity   MQTT    —   —   —   
MPQTT - Battery charge current  sensor.mpqtt_battery_charge_current MQTT    —   —   —   
MPQTT - Battery discharge current   sensor.mpqtt_battery_discharge_current  MQTT    —   —   —   
MPQTT - Battery Float Voltage   sensor.mpqtt_battery_float_voltage  MQTT    —   —   —   
MPQTT - Battery low alarm   sensor.mpqtt_battery_low_alarm  MQTT    —   —   —   
MPQTT - Battery Rating Voltage  sensor.mpqtt_battery_rating_voltage MQTT    —   —   —   
MPQTT - Battery Recharge Voltage    sensor.mpqtt_battery_recharge_voltage   MQTT    —   —   —   
MPQTT - Battery Redischarge Voltage sensor.mpqtt_battery_redischarge_voltage    MQTT    —   —   —   
MPQTT - Battery SCC Voltage sensor.mpqtt_battery_scc_voltage    MQTT    —   —   —   
MPQTT - Battery short   sensor.mpqtt_battery_short  MQTT    —   —   —   
MPQTT - Battery too low to charge   sensor.mpqtt_battery_too_low_to_charge  MQTT    —   —   —   
MPQTT - Battery Type    sensor.mpqtt_battery_type   MQTT    —   —   —   
MPQTT - Battery under shutdown  sensor.mpqtt_battery_under_shutdown MQTT    —   —   —   
MPQTT - Battery Under Voltage   sensor.mpqtt_battery_under_voltage  MQTT    —   —   —   
MPQTT - Battery Voltage sensor.mpqtt_battery_voltage    MQTT    —   —   —   
MPQTT - Battery voltage high    sensor.mpqtt_battery_voltage_high   MQTT    —   —   —   
MPQTT - Bus over    sensor.mpqtt_bus_over   MQTT    —   —   —   
MPQTT - Bus soft fail   sensor.mpqtt_bus_soft_fail  MQTT    —   —   —   
MPQTT - Bus under   sensor.mpqtt_bus_under  MQTT    —   —   —   
MPQTT - Bus Voltage sensor.mpqtt_bus_voltage    MQTT    —   —   —   
MPQTT - Charge Source Priority  sensor.mpqtt_charge_source_priority MQTT    —   —   —   
MPQTT - CPU Firmware Version 2 Major    sensor.mpqtt_cpu_firmware_version_2_major   MQTT    —   —   —   
MPQTT - CPU Firmware Version 2 Minor    sensor.mpqtt_cpu_firmware_version_2_minor   MQTT    —   —   —   
MPQTT - CPU Firmware Version Major  sensor.mpqtt_cpu_firmware_version_major MQTT    —   —   —   
MPQTT - CPU Firmware Version Minor  sensor.mpqtt_cpu_firmware_version_minor MQTT    —   —   —   
MPQTT - Current sensor fail sensor.mpqtt_current_sensor_fail    MQTT    —   —   —   
MPQTT - Device charge status    sensor.mpqtt_device_charge_status   MQTT    —   —   —   
MPQTT - Device mode sensor.mpqtt_device_mode    MQTT    —   —   —   
MPQTT - EEPROM Fault    sensor.mpqtt_eeprom_fault   MQTT    —   —   —   
MPQTT - Fan locked  sensor.mpqtt_fan_locked MQTT    —   —   —   
MPQTT - Grid Frequency  sensor.mpqtt_grid_frequency MQTT    —   —   —   
MPQTT - Grid Rating Current sensor.mpqtt_grid_rating_current    MQTT    —   —   —   
MPQTT - Grid Rating Voltage sensor.mpqtt_grid_rating_voltage    MQTT    —   —   —   
MPQTT - Grid Voltage    sensor.mpqtt_grid_voltage   MQTT    —   —   —   
MPQTT - Heat sink temperature   sensor.mpqtt_heat_sink_temperature  MQTT    —   —   —   
MPQTT - Input Voltage range sensor.mpqtt_input_voltage_range    MQTT    —   —   —   
MPQTT - Inverter fault  sensor.mpqtt_inverter_fault MQTT    —   —   —   
MPQTT - Inverter over current   sensor.mpqtt_inverter_over_current  MQTT    —   —   —   
MPQTT - Inverter soft fail  sensor.mpqtt_inverter_soft_fail MQTT    —   —   —   
MPQTT - Inverter voltage too high   sensor.mpqtt_inverter_voltage_too_high  MQTT    —   —   —   
MPQTT - Inverter voltage too low    sensor.mpqtt_inverter_voltage_too_low   MQTT    —   —   —   
MPQTT - Last error  sensor.mpqtt_last_error MQTT    —   —   —   
MPQTT - Line fail   sensor.mpqtt_line_fail  MQTT    —   —   —   
MPQTT - Machine Type    sensor.mpqtt_machine_type   MQTT    —   —   —   
MPQTT - Max AC Charging Current sensor.mpqtt_max_ac_charging_current    MQTT    —   —   —   
MPQTT - Max Charging Current    sensor.mpqtt_max_charging_current   MQTT    —   —   —   
MPQTT - MPPT Overload fault sensor.mpqtt_mppt_overload_fault    MQTT    —   —   —   
MPQTT - MPPT Overload warning   sensor.mpqtt_mppt_overload_warning  MQTT    —   —   —   
MPQTT - OP DC Voltage over  sensor.mpqtt_op_dc_voltage_over MQTT    —   —   —   
MPQTT - OPV Short   sensor.mpqtt_opv_short  MQTT    —   —   —   
MPQTT - Out active power    sensor.mpqtt_out_active_power   MQTT    —   —   —   
MPQTT - Out apparent power  sensor.mpqtt_out_apparent_power MQTT    —   —   —   
MPQTT - Out Frequency   sensor.mpqtt_out_frequency  MQTT    —   —   —   
MPQTT - Out load percent    sensor.mpqtt_out_load_percent   MQTT    —   —   —   
MPQTT - Out Voltage sensor.mpqtt_out_voltage    MQTT    —   —   —   
MPQTT - Output mode sensor.mpqtt_output_mode    MQTT    —   —   —   
MPQTT - Output Source Priority  sensor.mpqtt_output_source_priority MQTT    —   —   —   
MPQTT - Over load   sensor.mpqtt_over_load  MQTT    —   —   —   
MPQTT - Over temperature    sensor.mpqtt_over_temperature   MQTT    —   —   —   
MPQTT - Power limit sensor.mpqtt_power_limit    MQTT    —   —   —   
MPQTT - Protocol ID sensor.mpqtt_protocol_id    MQTT    —   —   —   
MPQTT - PV Input Current    sensor.mpqtt_pv_input_current   MQTT    —   —   —   
MPQTT - PV Input Voltage    sensor.mpqtt_pv_input_voltage   MQTT    —   —   —   
MPQTT - PV Voltage high sensor.mpqtt_pv_voltage_high    MQTT    —   —   —   
MPQTT - Self test fail  sensor.mpqtt_self_test_fail MQTT    —   —   —   
MPQTT - Serial number   sensor.mpqtt_serial_number  MQTT    —   —   —   
MPQTT - Topology    sensor.mpqtt_topology   MQTT    —   —   —   

all have value unknown except Serial number & Last error with show Io(Kind(UnexpectedEof))

I use: Linux ET1610PT 5.13.0-52-generic #59~20.04.1-Ubuntu SMP Thu Jun 16 21:21:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux Distributor ID: Ubuntu Description: Ubuntu 20.04.4 LTS Codename: focal Inverer is EASun ISolar SMV III 5K-48