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

Delta 2 Max + Extra battery metrics does not works after firmware update #48

Closed
pontostroy opened this issue Dec 14, 2023 · 3 comments
Closed

Comments

@pontostroy
Copy link
Contributor

After last update i see this in container logs

ecoflow_exporter  | 2023-12-14 07:38:48,517 INFO    Created new metric from payload key bms_slave_bmsSlaveStatus_1.soh -> ecoflow_bms_slave_bms_slave_status_1_soh
ecoflow_exporter  | 2023-12-14 07:38:48,517 INFO    Created new metric from payload key bms_slave_bmsSlaveStatus_1.tagChgAmp -> ecoflow_bms_slave_bms_slave_status_1_tag_chg_amp
ecoflow_exporter  | 2023-12-14 07:38:48,517 INFO    Created new metric from payload key bms_slave_bmsSlaveStatus_1.remainTime -> ecoflow_bms_slave_bms_slave_status_1_remain_time
ecoflow_exporter  | 2023-12-14 07:38:48,518 INFO    Created new metric from payload key bms_slave_bmsSlaveStatus_1.targetSoc -> ecoflow_bms_slave_bms_slave_status_1_target_soc
ecoflow_exporter  | 2023-12-14 07:38:48,518 INFO    Created new metric from payload key bms_slave_bmsSlaveStatus_1.bqSysStatReg -> ecoflow_bms_slave_bms_slave_status_1_bq_sys_stat_reg
ecoflow_exporter  | 2023-12-14 07:38:48,518 INFO    Created new metric from payload key bms_slave_bmsSlaveStatus_1.productType -> ecoflow_bms_slave_bms_slave_status_1_product_type
ecoflow_exporter  | 2023-12-14 07:38:48,518 INFO    Created new metric from payload key bms_slave_bmsSlaveStatus_1.minMosTemp -> ecoflow_bms_slave_bms_slave_status_1_min_mos_temp
ecoflow_exporter  | 2023-12-14 07:38:48,519 INFO    Created new metric from payload key bms_slave_bmsSlaveStatus_1.diffSoc -> ecoflow_bms_slave_bms_slave_status_1_diff_soc
ecoflow_exporter  | 2023-12-14 07:38:48,519 INFO    Created new metric from payload key bms_slave_bmsSlaveStatus_1.soc -> ecoflow_bms_slave_bms_slave_status_1_soc
ecoflow_exporter  | 2023-12-14 07:38:48,519 INFO    Created new metric from payload key bms_slave_bmsSlaveStatus_1.minCellTemp -> ecoflow_bms_slave_bms_slave_status_1_min_cell_temp
ecoflow_exporter  | 2023-12-14 07:38:48,519 INFO    Created new metric from payload key bms_slave_bmsSlaveStatus_1.packSn -> ecoflow_bms_slave_bms_slave_status_1_pack_sn
ecoflow_exporter  | Traceback (most recent call last):
ecoflow_exporter  |   File "/ecoflow_exporter.py", line 365, in <module>
ecoflow_exporter  |     main()
ecoflow_exporter  |   File "/ecoflow_exporter.py", line 357, in main
ecoflow_exporter  |     metrics.loop()
ecoflow_exporter  |   File "/ecoflow_exporter.py", line 262, in loop
ecoflow_exporter  |     self.process_payload(params)
ecoflow_exporter  |   File "/ecoflow_exporter.py", line 292, in process_payload
ecoflow_exporter  |     metric.set(ecoflow_payload_value)
ecoflow_exporter  |   File "/ecoflow_exporter.py", line 217, in set
ecoflow_exporter  |     self.metric.labels(device=self.device_name).set(value)
ecoflow_exporter  |   File "/usr/local/lib/python3.11/site-packages/prometheus_client/metrics.py", line 417, in set
ecoflow_exporter  |     self._value.set(float(value))
ecoflow_exporter  |                     ^^^^^^^^^^^^
ecoflow_exporter  | ValueError: could not convert string to float: 'R361Z1B4HF5S0986'
ecoflow_exporter exited with code 1

R361Z1B4HF5S0986 is an extra battery serial number

@pontostroy
Copy link
Contributor Author

payload in debug

ecoflow_exporter  | 2023-12-14 07:52:58,184 DEBUG   Recived payload: {"addr":0,"cmdFunc":0,"cmdId":0,"id":1613227306918739972,"version":"1.0","timestamp":1702540376,"moduleType":"4","params":{"bms_slave_bmsSlaveStatus_1.soh":100,"bms_slave_bmsSlaveStatus_1.tagChgAmp":40000,"bms_slave_bmsSlaveStatus_1.remainTime":1,"bms_slave_bmsSlaveStatus_1.targetSoc":100,"bms_slave_bmsSlaveStatus_1.bqSysStatReg":0,"bms_slave_bmsSlaveStatus_1.productType":81,"bms_slave_bmsSlaveStatus_1.minMosTemp":24,"bms_slave_bmsSlaveStatus_1.diffSoc":0,"bms_slave_bmsSlaveStatus_1.maxCellVol":3378,"bms_slave_bmsSlaveStatus_1.soc":99,"bms_slave_bmsSlaveStatus_1.minCellTemp":25,"bms_slave_bmsSlaveStatus_1.packSn":"R361Z1B4HF5S0986","bms_slave_bmsSlaveStatus_1.num":1,"bms_slave_bmsSlaveStatus_1.ecloudOcv":65535,"bms_slave_bmsSlaveStatus_1.bmsFault":0,"bms_slave_bmsSlaveStatus_1.chgState":2,"bms_slave_bmsSlaveStatus_1.allBmsFault":0,"bms_slave_bmsSlaveStatus_1.cycles":5,"bms_slave_bmsSlaveStatus_1.caleSoh":0,"bms_slave_bmsSlaveStatus_1.bmsHeartVer":259,"bms_slave_bmsSlaveStatus_1.sysState":2,"bms_slave_bmsSlaveStatus_1.minCellVol":3374,"bms_slave_bmsSlaveStatus_1.f32ShowSoc":99.3,"bms_slave_bmsSlaveStatus_1.chgCap":4294967295,"bms_slave_bmsSlaveStatus_1.fullCap":39280,"bms_slave_bmsSlaveStatus_1.temp":27,"bms_slave_bmsSlaveStatus_1.dsgCap":4294967295,"bms_slave_bmsSlaveStatus_1.hwVersion":[86,48,46,49,46,50],"bms_slave_bmsSlaveStatus_1.allErrCode":0,"bms_slave_bmsSlaveStatus_1.realSoh":0,"bms_slave_bmsSlaveStatus_1.actSoc":100,"bms_slave_bmsSlaveStatus_1.maxVolDiff":4,"bms_slave_bmsSlaveStatus_1.vol":54193,"bms_slave_bmsSlaveStatus_1.outputWatts":0,"bms_slave_bmsSlaveStatus_1.cellId":2,"bms_slave_bmsSlaveStatus_1.sysVer":33620253,"bms_slave_bmsSlaveStatus_1.balanceState":0,"bms_slave_bmsSlaveStatus_1.errCode":0,"bms_slave_bmsSlaveStatus_1.mosState":3,"bms_slave_bmsSlaveStatus_1.productDetail":4,"bms_slave_bmsSlaveStatus_1.amp":2310,"bms_slave_bmsSlaveStatus_1.type":1,"bms_slave_bmsSlaveStatus_1.designCap":40000,"bms_slave_bmsSlaveStatus_1.loaderVer":33619974,"bms_slave_bmsSlaveStatus_1.cellVol":[3375,3374,3374,3374,3375,3375,3374,3376,3378,3375,3375,3375,3376,3376,3376,3376],"bms_slave_bmsSlaveStatus_1.maxCellTemp":27,"bms_slave_bmsSlaveStatus_1.remainCap":39005,"bms_slave_bmsSlaveStatus_1.cellTemp":[25,26,27,26,25],"bms_slave_bmsSlaveStatus_1.cycSoh":99,"bms_slave_bmsSlaveStatus_1.inputWatts":125,"bms_slave_bmsSlaveStatus_1.maxMosTemp":25,"bms_slave_bmsSlaveStatus_1.openBmsIdx":3}}
ecoflow_exporter  | 2023-12-14 07:52:58,184 DEBUG   Processing params: {'bms_slave_bmsSlaveStatus_1.soh': 100, 'bms_slave_bmsSlaveStatus_1.tagChgAmp': 40000, 'bms_slave_bmsSlaveStatus_1.remainTime': 1, 'bms_slave_bmsSlaveStatus_1.targetSoc': 100, 'bms_slave_bmsSlaveStatus_1.bqSysStatReg': 0, 'bms_slave_bmsSlaveStatus_1.productType': 81, 'bms_slave_bmsSlaveStatus_1.minMosTemp': 24, 'bms_slave_bmsSlaveStatus_1.diffSoc': 0, 'bms_slave_bmsSlaveStatus_1.maxCellVol': 3378, 'bms_slave_bmsSlaveStatus_1.soc': 99, 'bms_slave_bmsSlaveStatus_1.minCellTemp': 25, 'bms_slave_bmsSlaveStatus_1.packSn': 'R361Z1B4HF5S0986', 'bms_slave_bmsSlaveStatus_1.num': 1, 'bms_slave_bmsSlaveStatus_1.ecloudOcv': 65535, 'bms_slave_bmsSlaveStatus_1.bmsFault': 0, 'bms_slave_bmsSlaveStatus_1.chgState': 2, 'bms_slave_bmsSlaveStatus_1.allBmsFault': 0, 'bms_slave_bmsSlaveStatus_1.cycles': 5, 'bms_slave_bmsSlaveStatus_1.caleSoh': 0, 'bms_slave_bmsSlaveStatus_1.bmsHeartVer': 259, 'bms_slave_bmsSlaveStatus_1.sysState': 2, 'bms_slave_bmsSlaveStatus_1.minCellVol': 3374, 'bms_slave_bmsSlaveStatus_1.f32ShowSoc': 99.3, 'bms_slave_bmsSlaveStatus_1.chgCap': 4294967295, 'bms_slave_bmsSlaveStatus_1.fullCap': 39280, 'bms_slave_bmsSlaveStatus_1.temp': 27, 'bms_slave_bmsSlaveStatus_1.dsgCap': 4294967295, 'bms_slave_bmsSlaveStatus_1.hwVersion': [86, 48, 46, 49, 46, 50], 'bms_slave_bmsSlaveStatus_1.allErrCode': 0, 'bms_slave_bmsSlaveStatus_1.realSoh': 0, 'bms_slave_bmsSlaveStatus_1.actSoc': 100, 'bms_slave_bmsSlaveStatus_1.maxVolDiff': 4, 'bms_slave_bmsSlaveStatus_1.vol': 54193, 'bms_slave_bmsSlaveStatus_1.outputWatts': 0, 'bms_slave_bmsSlaveStatus_1.cellId': 2, 'bms_slave_bmsSlaveStatus_1.sysVer': 33620253, 'bms_slave_bmsSlaveStatus_1.balanceState': 0, 'bms_slave_bmsSlaveStatus_1.errCode': 0, 'bms_slave_bmsSlaveStatus_1.mosState': 3, 'bms_slave_bmsSlaveStatus_1.productDetail': 4, 'bms_slave_bmsSlaveStatus_1.amp': 2310, 'bms_slave_bmsSlaveStatus_1.type': 1, 'bms_slave_bmsSlaveStatus_1.designCap': 40000, 'bms_slave_bmsSlaveStatus_1.loaderVer': 33619974, 'bms_slave_bmsSlaveStatus_1.cellVol': [3375, 3374, 3374, 3374, 3375, 3375, 3374, 3376, 3378, 3375, 3375, 3375, 3376, 3376, 3376, 3376], 'bms_slave_bmsSlaveStatus_1.maxCellTemp': 27, 'bms_slave_bmsSlaveStatus_1.remainCap': 39005, 'bms_slave_bmsSlaveStatus_1.cellTemp': [25, 26, 27, 26, 25], 'bms_slave_bmsSlaveStatus_1.cycSoh': 99, 'bms_slave_bmsSlaveStatus_1.inputWatts': 125, 'bms_slave_bmsSlaveStatus_1.maxMosTemp': 25, 'bms_slave_bmsSlaveStatus_1.openBmsIdx': 3}

@pontostroy
Copy link
Contributor Author

For now i did this

def process_payload(self, params):
    log.debug(f"Processing params: {params}")
    params.pop("bms_slave_bmsSlaveStatus_1.packSn", None) 

But i think should be better solution.

@typicalaimster
Copy link

    params.pop("bms_slave_bmsSlaveStatus_1.packSn", None) 

Note: If you have two batteries plugged in you'll need to do this to both 1 and 2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants