├── .gitignore ├── README.md ├── Solax-Fox-BMS.ods ├── dbc └── solax.dbc └── image └── README └── 1677002242984.png /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /Cargo.lock 3 | /DS* 4 | /note* 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Solax/FoxESS V1 Hybrid/Fit/AC Can Bus Protocol 2 | 3 | Can bus @ 500k - all Extended ID, little endian 4 | 5 | ## Frames 6 | 7 | ### Received frame 8 | 9 | > 0x1871 [0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00] 10 | 11 | ### Response frames 12 | 13 | | ID | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | 14 | | ------ | ----------------- | ----------------- | ----------------- | ----------------- | ------------ | ------------ | ---------------- | --------------- | 15 | | 0x1872 | slave_voltage_max | slave_voltage_max | slave_voltage_min | slave_voltage_min | charge_max | charge_max | discharge_max | discharge_max | 16 | | 0x1873 | voltage | voltage | current | current | capacity | capacity | kwh | kwh | 17 | | 0x1874 | cells_temp_max | cells_temp_max | cells_temp_min | cells_temp_min | cells_mv_max | cells_mv_max | cells_mv_min | cells_mv_min | 18 | | 0x1875 | int_temp | int_temp | 0x01 | 0x00 | 0x01 | 0x00 | cell_voltage_min | 0x00 | 19 | | 0x1876 | 0x01 | 0x00 | cells_volts_max | cells_volts_max | 0x00 | 0x00 | cells_volts_min | cells_volts_min | 20 | | 0x1877 | 0x00 | 0x00 | 0x00 | 0x00 | id | 0x00 | byte1 | byte2 | 21 | | 0x1878 | pack_voltage_max | pack_voltage_max | 0x00 | 0x00 | wh_total | wh_total | wh_total | wh_total | 22 | 23 | 24 | ## Screenshot 25 | 26 | ![1677002242984](image/README/1677002242984.png) 27 | -------------------------------------------------------------------------------- /Solax-Fox-BMS.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rand12345/solax_can_bus/51cf232231b610e96c870667d7cc96789dda7fa7/Solax-Fox-BMS.ods -------------------------------------------------------------------------------- /dbc/solax.dbc: -------------------------------------------------------------------------------- 1 | VERSION "" 2 | 3 | 4 | NS_ : 5 | NS_DESC_ 6 | CM_ 7 | BA_DEF_ 8 | BA_ 9 | VAL_ 10 | CAT_DEF_ 11 | CAT_ 12 | FILTER 13 | BA_DEF_DEF_ 14 | EV_DATA_ 15 | ENVVAR_DATA_ 16 | SGTYPE_ 17 | SGTYPE_VAL_ 18 | BA_DEF_SGTYPE_ 19 | BA_SGTYPE_ 20 | SIG_TYPE_REF_ 21 | VAL_TABLE_ 22 | SIG_GROUP_ 23 | SIG_VALTYPE_ 24 | SIGTYPE_VALTYPE_ 25 | BO_TX_BU_ 26 | BA_DEF_REL_ 27 | BA_REL_ 28 | BA_DEF_DEF_REL_ 29 | BU_SG_REL_ 30 | BU_EV_REL_ 31 | BU_BO_REL_ 32 | SG_MUL_VAL_ 33 | 34 | BS_: 35 | BU_: Solax_inverter 36 | BO_ 6258 BMS_Limits: 8 Solax_inverter 37 | SG_ slave_voltage_max : 0|16@1+ (0.1,0) [380|400] "V" Solax_inverter 38 | SG_ slave_voltage_min : 16|16@1+ (0.1,0) [290|330] "V" Solax_inverter 39 | SG_ max_charge_rate : 32|16@1+ (0.1,0) [0|253] "A" Solax_inverter 40 | SG_ max_discharge_rate : 48|16@1+ (0.1,0) [0|35] "A" Solax_inverter 41 | 42 | BO_ 6259 BMS_PackData: 8 Solax_inverter 43 | SG_ master_voltage : 0|16@1+ (0.1,0) [290|400] "V" Solax_inverter 44 | SG_ current_sensor : 16|16@1- (0.1,0) [-40|40] "A" Vector__XXX 45 | SG_ soc : 32|16@1+ (1,0) [0|100] "%" Solax_inverter 46 | SG_ kwh_remaining : 48|16@1+ (0.01,0) [0|100] "kWh" Solax_inverter 47 | 48 | BO_ 6260 BMS_CellData: 8 Solax_inverter 49 | SG_ cell_volts_low : 48|16@1+ (100,0) [2900|4200] "mV" Solax_inverter 50 | SG_ cell_volts_high : 32|16@1+ (100,0) [2900|4200] "mV" Solax_inverter 51 | SG_ cell_temperature_low : 16|16@1- (0.1,0) [-40|60] "C" Solax_inverter 52 | SG_ cell_temperature_high : 0|16@1- (0.1,0) [-40|60] "C" Solax_inverter 53 | 54 | BO_ 6261 BMS_Status: 8 Solax_inverter 55 | SG_ bit : 16|1@1+ (1,0) [0|1] "" Solax_inverter 56 | SG_ contactor : 32|1@1+ (1,0) [0|1] "" Solax_inverter 57 | SG_ pack_temperature : 0|16@1- (0.1,0) [-40|60] "C" Solax_inverter 58 | 59 | BO_ 6262 BMS_PackTemps: 8 Solax_inverter 60 | SG_ bit : 0|1@1+ (1,0) [0|1] "" Solax_inverter 61 | SG_ cell_millivolts_high : 16|16@1+ (1,0) [2900|4200] "mV" Solax_inverter 62 | SG_ cell_millivolts_low : 48|16@1+ (1,0) [2900|4200] "mV" Solax_inverter 63 | 64 | BO_ 6264 BMS_PackStats: 8 Solax_inverter 65 | SG_ pack_voltage : 0|16@1+ (0.1,0) [290|400] "V" Solax_inverter 66 | SG_ total_watt_hrs : 32|32@1+ (1,0) [0|4.29497e+08] "Wh" Solax_inverter 67 | 68 | BA_DEF_ BO_ "GenMsgBackgroundColor" STRING ; 69 | BA_DEF_ BO_ "GenMsgForegroundColor" STRING ; 70 | BA_DEF_ BO_ "labelfilters" INT 0 0; 71 | BA_DEF_DEF_ "GenMsgBackgroundColor" "#1e1e1e"; 72 | BA_DEF_DEF_ "GenMsgForegroundColor" "#ffffff"; 73 | BA_DEF_DEF_ "labelfilters" 1; 74 | -------------------------------------------------------------------------------- /image/README/1677002242984.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rand12345/solax_can_bus/51cf232231b610e96c870667d7cc96789dda7fa7/image/README/1677002242984.png --------------------------------------------------------------------------------