Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

inverter_poller prints not plausible value for Battery_redischarge_voltage #71

Open
dilyanpalauzov opened this issue Mar 13, 2022 · 4 comments · May be fixed by #72
Open

inverter_poller prints not plausible value for Battery_redischarge_voltage #71

dilyanpalauzov opened this issue Mar 13, 2022 · 4 comments · May be fixed by #72

Comments

@dilyanpalauzov
Copy link
Contributor

On my system, inverter_poller prints:

"Battery_redischarge_voltage":121388030977618053106918512643666870272.0,

This value is not realistic. The complete output is:

# inverter_poller -1
{                             
  "Inverter_mode":4,                                                                                                                    
  "AC_grid_voltage":238.3,                                          
  "AC_grid_frequency":50.0,
  "AC_out_voltage":229.6,   
  "AC_out_frequency":49.9,
  "PV_in_voltage":49.0,
  "PV_in_current":7.0,
  "PV_in_watts":345.6,
  "PV_in_watthour":11.5194,
  "SCC_voltage":48.8800,
  "Load_pct":15,
  "Load_watt":736,
  "Load_watthour":24.5333,
  "Load_va":780,
  "Bus_voltage":339,
  "Heatsink_temperature":30,
  "Battery_capacity":46,
  "Battery_voltage":48.80,
  "Battery_charge_current":0,
  "Battery_discharge_current":9,
  "Load_status_on":1,
  "SCC_charge_on":1,
  "AC_charge_on":0,
  "Battery_recharge_voltage":48.0, 
  "Battery_under_voltage":44.0,
  "Battery_bulk_voltage":59.5,
  "Battery_float_voltage":54.7,
  "Max_grid_charge_current":2,
  "Max_charge_current":100,
  "Out_source_priority":1,
  "Charger_source_priority":3,
  "Battery_redischarge_voltage":121388030977618053106918512643666870272.0,
  "Warnings":"00000000000000000000000000000000"
}

My inverter.conf:

device=/dev/hidraw0
run_interval=120
amperage_factor=1.0
watt_factor=1.01
qpiri=102
qpiws=36
qmod=5
qpigs=110
@dilyanpalauzov
Copy link
Contributor Author

Input from @manio will be highly appreciated.

@dilyanpalauzov
Copy link
Contributor Author

Debug output

$ inverter_poller -1 -d
Sun Mar 13 14:09:36 2022 INVERTER: Debug set
Sun Mar 13 14:09:36 2022 INVERTER: Current CRC: 49 C1
Sun Mar 13 14:09:36 2022 INVERTER: QMOD reply size (5 bytes)
Sun Mar 13 14:09:36 2022 INVERTER: QMOD: 5 bytes read: (B
Sun Mar 13 14:09:36 2022 INVERTER: QMOD query finished
Sun Mar 13 14:09:36 2022 INVERTER: Current CRC: B7 A9
Sun Mar 13 14:09:37 2022 INVERTER: QPIGS reply size (110 bytes)
Sun Mar 13 14:09:37 2022 INVERTER: QPIGS: 110 bytes read: (238.5 49.9 230.5 50.0 0138 0099 002 360 51.40 004 072 0032 0005 051.5 51.40 0
0000 00110110 00 00 00257 110
Sun Mar 13 14:09:37 2022 INVERTER: QPIGS query finished
Sun Mar 13 14:09:37 2022 INVERTER: Current CRC: F8 54
Sun Mar 13 14:09:37 2022 INVERTER: QPIRI reply size (102 bytes)
Sun Mar 13 14:09:37 2022 INVERTER: QPIRI: 102 bytes read: (230.0 21.7 230.0 50.0 21.7 5000 5000 48.0 48.0 44.0 59.5 54.7 2 02 100 0 1 3 
9 01 0 1 54.0 0 1 000
Sun Mar 13 14:09:37 2022 INVERTER: QPIRI query finished
Sun Mar 13 14:09:37 2022 INVERTER: Current CRC: B4 DA
Sun Mar 13 14:09:38 2022 INVERTER: QPIWS reply size (36 bytes)
Sun Mar 13 14:09:38 2022 INVERTER: QPIWS: 36 bytes read: (00000000000000000000000000000000
Sun Mar 13 14:09:38 2022 INVERTER: QPIWS query finished
INVERTER: ampfactor from config is 1.00
INVERTER: wattfactor from config is 1.01
{                             
  "Inverter_mode":4,                                                                                                                    
  "AC_grid_voltage":238.5,                                          
  "AC_grid_frequency":49.9,
  "AC_out_voltage":230.5,                                                                                                               
   "AC_out_frequency":50.0,  
  "PV_in_voltage":51.5,
  "PV_in_current":5.0,
  "PV_in_watts":259.6,
  "PV_in_watthour":8.6523,
  "SCC_voltage":51.4000,
  "Load_pct":2,
  "Load_watt":99,
  "Load_watthour":3.3000,
  "Load_va":138,
  "Bus_voltage":360,
  "Heatsink_temperature":32,
  "Battery_capacity":72,
  "Battery_voltage":51.40,
  "Battery_charge_current":4,
  "Battery_discharge_current":0,
  "Load_status_on":1,
  "SCC_charge_on":1,
  "AC_charge_on":0,
  "Battery_recharge_voltage":48.0, 
  "Battery_under_voltage":44.0,
  "Battery_bulk_voltage":59.5,
  "Battery_float_voltage":54.7,
  "Max_grid_charge_current":2,
  "Max_charge_current":100,
  "Out_source_priority":1,
  "Charger_source_priority":3,
  "Battery_redischarge_voltage":104980372904647997800762144243331366912.0,
  "Warnings":"00000000000000000000000000000000"
}
Sun Mar 13 14:09:38 2022 INVERTER: All queries complete, exiting loop.

@dilyanpalauzov
Copy link
Contributor Author

Mapping the result of the QPIRI command, as taken from the manual at https://github.com/ned-kelly/docker-voltronic-homeassistant/blob/master/manual/HS_MS_MSX_RS232_Protocol_20140822_after_current_upgrade.pdf to the actual data returned

(230.0 21.7 230.0 50.0 21.7 5000 5000 48.0 48.0 44.0 59.5 54.7 2 02 100 0 1 3 9 01 0 1 54.0 0 1 000
(BBB.B CC.C DDD.D EE.E FF.F HHHH IIII JJ.J KK.K JJ.J KK.K LL.L O PP QQ0 O P Q R SS T U VV.V W X

So VV.V (Battery re-discharge voltage) is 54.0, but it is displayed incorrecty as 104980372904647997800762144243331366912.0.

Where can I find an updated protocol reference, defining the meaning of the final value after X, thus what means here the terminating 000?

dilyanpalauzov added a commit to dilyanpalauzov/docker-voltronic-homeassistant that referenced this issue Mar 13, 2022
The HS_MS_MSX protocol specification in the repository says for the

QPIRI command value R is “Parallel max num”.

On my system R returns 9, while the source code expected "-" in scanf().

This change alters the input of scanf() to accept any character in
the position for R.

Closes ned-kelly#71
dilyanpalauzov added a commit to dilyanpalauzov/docker-voltronic-homeassistant that referenced this issue Mar 13, 2022
The HS_MS_MSX protocol specification in the repository says for the

QPIRI command value R is “Parallel max num”.

On my system R returns 9, while the source code expected "-" in scanf().

This change alters the input of scanf() to accept any character in
the position for R.

Closes ned-kelly#71
@dilyanpalauzov
Copy link
Contributor Author

I got it. The protocol says for QPIRI’s R (Parallel max num) — R is an Integer ranging from 0 to 9), while scanf() in inverter-cli/main.cpp expected for this position the dash character -.

The modification at #72 accepts in place of - any character, which in my case is 9.

dilyanpalauzov added a commit to dilyanpalauzov/docker-voltronic-homeassistant that referenced this issue Aug 25, 2022
The HS_MS_MSX protocol specification in the repository says for the

QPIRI command value R is “Parallel max num”.

On my system R returns 9, while the source code expected "-" in scanf().

This change alters the input of scanf() to accept any character in
the position for R.

Closes ned-kelly#71
dilyanpalauzov added a commit to dilyanpalauzov/docker-voltronic-homeassistant that referenced this issue Aug 27, 2022
The HS_MS_MSX protocol specification in the repository says for the

QPIRI command value R is “Parallel max num”.

On my system R returns 9, while the source code expected "-" in scanf().

This change alters the input of scanf() to accept any character in
the position for R.

Closes ned-kelly#71
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant