I own an EcoFlow RIVER 600 Pro with an 110 Watt solar panel. Since all the parameters of the station can be seen in the EcoFlow app there must be somehow a way to get it per script.
I found a thread regarding iobroker but this was related to a web api provided by EcoFlow. You need to write them to get an access token.
Fortunately I found a github repository for an integration with Home Assistant:
https://github.com/vwt12eh8/hassio-ecoflow.
It took me some time to adapt the source to work standalone. Please note that its just a poc. The repository can be found here: https://github.com/wsoltys/ecoflow-stats
In the current form it outputs just a dict of the values received.
Example output prettified:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
{ "pd": { "model": 1, "pd_error": 0, "pd_version": "1.1.3.15", "battery_level": 67, "out_power": 0, "in_power": 21, "remain_display": "datetime.timedelta(seconds=19140)", "car_out_state": 0, "light_state": 0, "beep": 1, "typec_out1_power": 0, "usb_out1_power": 0, "usb_out2_power": 0, "usbqc_out1_power": 0, "car_out_power": 0, "light_power": 0, "typec_out1_temp": 34, "car_out_temp": 32, "standby_timeout": 120, "car_in_energy": 34, "mppt_in_energy": 370, "ac_in_energy": 375, "car_out_energy": 297, "ac_out_energy": 76, "usb_time": "datetime.timedelta(seconds=3160)", "usbqc_time": "datetime.timedelta(days=1, seconds=31359)", "typec_time": "datetime.timedelta(seconds=8942)", "car_out_time": "datetime.timedelta(seconds=2055)", "ac_out_time": "datetime.timedelta(seconds=11622)", "car_in_time": "datetime.timedelta(seconds=652)", "mppt_time": "datetime.timedelta(seconds=80411)" }, "ems": { "battery_main_error": 0, "battery_main_version": "1.1.2.13", "battery_main_level": 67, "battery_main_voltage": 32.009, "battery_main_current": 557, "battery_main_temp": 36, "_open_bms_idx": 1, "battery_capacity_remain": 5812, "battery_capacity_full": 9140, "battery_cycles": 3, "battery_level_max": 100, "battery_main_voltage_max": 3.989, "battery_main_voltage_min": 3.983, "battery_main_temp_max": 36, "battery_main_temp_min": 34, "mos_temp_max": 38, "mos_temp_min": 38, "battery_main_fault": 0, "_bq_sys_stat_reg": 128, "_tag_chg_amp": 15000 }, "inverter": { "ac_error": 0, "ac_version": "1.4.1.5", "in_type": 3, "in_power": 21, "ac_out_power": 0, "ac_type": 8, "ac_out_voltage": 0, "ac_out_current": 0, "ac_out_freq": 0, "ac_in_voltage": 0, "ac_in_current": 0, "ac_in_freq": 0, "ac_out_temp": 44, "dc_in_voltage": 18.594, "dc_in_current": 1.207, "ac_in_temp": 42, "fan_state": 0, "ac_out_state": 0, "ac_out_xboost": 0, "ac_out_voltage_config": 230, "ac_out_freq_config": 1, "ac_in_slow": 1, "ac_out_timeout": 720, "fan_config": 1 } } |
Note: This is not an official API and further firmware updates can break the functionality.