BlueSmart IP22 Charger Registers

Hello Community, Victron Staff
I’m looking for the VE.Direct register description/documentation of the VE.Direct output of the blue smart charger 12 | 30. Can any one help me?

Here the list of registers that I found:

    /* counter / time seconds? */
    case 0x0120: {
        // value = CSVEDirect::getU32(ved);
        // break;
        return true;
    }
    /* Mode
     * value=0  Ladegeraet
     * value=11 Spannungsversorgung
     */
    case 0x0201: {
        value = CSVEDirect::getU8(ved);
        break;
    }
    /*
     * value=1 Spannungsversorgung
     */
    case 0x0206: {
        value = CSVEDirect::getU8(ved);
        break;
    }
    case 0x0207: {
        value = CSVEDirect::getU32(ved);
        break;
    }
    /* :A0D200000001E */
    case 0x200D: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /* Flags
     * b0
     * b1 => 0x02 => night mode on
     * b2
     * b3
     * b4
     * b5
     */
    case 0xE001: {
        value = CSVEDirect::getU8(ved);
        break;
    }
    /* night mode 8 hours w/o fan with 15A current
     * counter 28800 seconds to 0 seconds
     */
    case 0xE002: {
        value = CSVEDirect::getU32(ved);
        break;
    }
    case 0xEC41: {
        value = CSVEDirect::getU32(ved);
        break;
    }
    /* Re-Bulk-Spannungsoffset (scale / 1000)
     * value=11 -> 11mV
     */
    case 0xED2E: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /* output voltage - same is 0xEDD5 */
    case 0xED8D: {
        // value = CSVEDirect::getU16(ved);
        // break;
        return true;
    }
    case 0xEDD4: {
        value = CSVEDirect::getU8(ved);
        break;
    }
    /* output voltage - same is 0xED8D */
    case 0xEDD5: {
        // value = CSVEDirect::getU16(ved);
        // break;
        return true;
    }
    /* output current scale / 100
     * value=3060 or 3070 or 2990
     *  -> 30.6A or 30.7A or 29.9A
     */
    case 0xEDDB: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /* Abschalten bei Temperatur niedrig 5°C
     * scale / 100
     * value=500
     */
    case 0xEDE0: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /* Re-Bulk-Strom (scale x1)
     * value=0 -> deactivated
     * value=2 -> 2A
     */
    case 0xEDE1: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /* Bulk-Spannung
     * Ladevoreinstellung 0:
     *      Voltage => 13.10
     * Ladevoreinstellung 1:
     *      Voltage => 13.10
     * Ladevoreinstellung 2:
     *      Voltage => 13.10
     * Ladevoreinstellung 3:
     *      Voltage => 13.10
     * Ladevoreinstellung 4:
     *      Voltage => 13.40
     */
    case 0xEDE2: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /* Dauer der Regenrierung hh:mm scale / 100
     * value=100 value=202 -> 2:02
     */
    case 0xEDE3: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /* Prozentsatz Strom regenerierung scale x1
     * value=3
     */
    case 0xEDE4: {
        value = CSVEDirect::getU8(ved);
        break;
    }
    /* Stopp-Modus Regenerierung
     * 1 = Automatisch, an Spannung
     * 0 = Festgelegt
     */
    case 0xEDE5: {
        value = CSVEDirect::getU8(ved);
        break;
    }
    case 0xEDE6: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /* Schweifstrom scale x1
     * value=0 -> deactivated
     * value=2 -> 2A
     */
    case 0xEDE7: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /* Maximum Strom A scale x10
     * current => 150
     * current => 300
     */
    case 0xEDF0: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /* Ladevoreinstellung
     * 0 = Normal
     * 1 = Normal + Reginerierung
     * 2 = Hoch
     * 3 = Hoch + Regenerierung
     * 4 = Li-ion
     */
    case 0xEDF1: {
        value = CSVEDirect::getU8(ved);
        break;
    }
    /* Temperaturkompensation (scale / 100)
     * value=0     -> deactivated
     * value=-1620 -> -16.20 mV/°C
     */
    case 0xEDF2: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /*
     * Ladevoreinstellung: 0
     *      Voltage => 16.20
     * Ladevoreinstellung: 1
     *      Voltage => 16.20
     * Ladevoreinstellung: 2
     *      Voltage => 16.20
     * Ladevoreinstellung: 3
     *      Voltage => 16.20
     * Ladevoreinstellung: 4 (Lithium)
     *      Voltage => 0
     */
    case 0xEDF4: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /* Lagerungsspannung (scale / 100)
     *  Smart Lithium LiFePo4
     *      Voltage => 13.50
     */
    case 0xEDF5: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /* Erhaltungsspannung (scale / 100)
     *  Smart Lithium LiFePo4
     *      Voltage => 13.50
     */
    case 0xEDF6: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /* Absorptionsspannung (scale / 100)
     *  Smart Lithium LiFePo4
     *      Voltage => 14.40
     */
    case 0xEDF7: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /* Wiederholte Konstantspannung alle n Tage (scale / 100)
     * value=700 or 600
     */
    case 0xEDF8: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /*
     * value=100
     */
    case 0xEDF9: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /*
     * value=800
     */
    case 0xEDFA: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /* Absorptionsdauer (scale / 100)
     *
     * Ladevoreinstellung: 1
     *      value=
     * Ladevoreinstellung: 1
     *      value=
     * Ladevoreinstellung: 2
     *      value=800
     * Ladevoreinstellung: 3
     *      value=800
     * Ladevoreinstellung: 4
     *      value=200
     */
    case 0xEDFB: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /* Bulk-Zeitbegrenzung hh:mm (scale / 100)
     * value=2400 -> 24:00
     */
    case 0xEDFC: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /*
     *  value => 0
     */
    case 0xEDFD: {
        value = CSVEDirect::getU8(ved);
        break;
    }
    /* Absorbtionsdauer
     * 0 = Fest
     * 1 = Adaptiv
     */
    case 0xEDFE: {
        value = CSVEDirect::getU8(ved);
        break;
    }
    /*
     * value=1
     */
    case 0xEDFF: {
        value = CSVEDirect::getU8(ved);
        break;
    }
    /* always 0xFFFF ?? */
    case 0xEE16: {
        // value = CSVEDirect::getU16(ved);
        // break;
        return true;
    }
    /* reset history */
    case 0x1030: {
        /* no value */
        return true;
    }
    /* Table */
    case 0x1042: {
        show = true;
        break;
    }
    /* Table */
    case 0x1043: {
        show = true;
        break;
    }
    /* Table */
    case 0x1070: {
        show = true;
        break;
    }
    /* -----------------------------
     * Smart Network created
     * ----------------------------- */
    /*
     * :A14EC00436172494F534A
     */
    case 0xEC14: {
        show = true;
        break;
    }
    /*
     * :A12EC004DCF 31
     */
    case 0xEC12: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /*
     * :A13EC00E3C841BD37E9CFB9AF1BF5DD1E9F0EFE96
     */
    case 0xEC13: {
        show = true;
        break;
    }
    /*
     * :A012000000525
     */
    case 0x2001: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /*
     * :A0720000000000024
     */
    case 0x2007: {
        value = CSVEDirect::getU32(ved);
        break;
    }
    /*
     * :A082000000023
     */
    case 0x2008: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /*
     * :A0920000022
     */
    case 0x2009: {
        value = CSVEDirect::getU8(ved);
        break;
    }
    /* ???
     * value=200
     * :A422000C80021
     */
    case 0x2042: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /*
     * :A0C2000FF20
     */
    case 0x200C: {
        value = CSVEDirect::getU8(ved);
        break;
    }
    /* Unix timestamp ??
     * :A132000FFFFFF7F9C
     */
    case 0x2013: {
        value = CSVEDirect::getU32(ved);
        break;
    }
    /* :A0E200021FC
     *
     * value=33
     * value=1 -> Ladegeraet
     */
    case 0x200E: {
        value = CSVEDirect::getU8(ved);
        break;
    }
    /* :A30EC00012E */
    case 0xEC30: {
        show = true;
        break;
    }
    /* :A31EC00018396F49930A300FF4203007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFF85 */
    case 0xEC31: {
        show = true;
        break;
    }
    /* :A16EC000445 */
    case 0xEC16: {
        value = CSVEDirect::getU8(ved);
        break;
    }
    /* :A20EC00ECEDFFFFFFFFFFFF8DEDFFFFFFFFFFFF8CEDFFFFFFFFFFFF3EECFFFFFFFFFFFF61 */
    case 0xEC20: {
        show = true;
        break;
    }
    /* :A15EC00004A */
    case 0xEC15: {
        value = CSVEDirect::getU8(ved);
        break;
    }
    /*
     *  value=3
     *
     * :A8FED000100CE */
    case 0xED8F: {
        value = CSVEDirect::getU8(ved);
        break;
    }
    /* Output Load Current (scale / 1000)
     * value=450 -> 450mA -> 0.45A */
    case 0xED8C: {
        value = CSVEDirect::getU32(ved);
        break;
    }
    /* Work Mode
     * 1 =
     * 2 =
     * 3 =
     * 4 = Absorption
     * 5 =
     */
    case 0xEDD7: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /* Output Voltage Spannungsversorgung (scale / 100)
     * value=1280 -> 12.80V
     */
    case 0xEDE9: {
        value = CSVEDirect::getU16(ved);
        break;
    }
    /* Re-Bulk Methode
     * 0 = Spannung
     * 1 = Konstantstrom
     */
    case 0xEE17: {
        value = CSVEDirect::getU8(ved);
        break;
    }

I am putting here a list with what I’ve got, with explanations, but I am also having a small (well, a big) favor to ask… :pray:
Could you be so nice to format it for others to have a proper reference? Also ignore the “garbage” at some lines’ end.
Thanks a lot in advance.

PS: Don’t mind the “D” column, it’s a column with values from my device. Also ignore colors, as they’re also for my device.

https://axelzone.ro/storage/victron/can0_info_ids-formated.xlsx

Hello Alex,
Thank you very much. I’will see what I can :slight_smile:
Here you can see your Excel Sheet in fancy style:
Fancy Formated

Hi Alex,
finally you can find an application on GitHub

1 Like

Thanks for sharing!