Skip to content

Commit

Permalink
change registrars for grid/string inverters
Browse files Browse the repository at this point in the history
  • Loading branch information
Pho3niX90 committed Feb 3, 2025
1 parent 0761222 commit ab49935
Showing 1 changed file with 37 additions and 89 deletions.
126 changes: 37 additions & 89 deletions custom_components/solis_modbus/data/string_sensors.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,119 +4,67 @@

string_sensors = [
{
"register_start": 36013,
"register_start": 3257,
"scan_interval": 0,
"entities": [
{"type": "SS", "name": "Solis Model No", "unique": "solis_modbus_inverter_model_no",
"register": ['36013'], "multiplier": 0},
{"type": "SS", "name": "Solis Inverter EPM Firmware Version", "unique": "solis_modbus_inverter_epm_firmware_version",
"register": ['36014'], "multiplier": 0},
{"type": "SS", "name": "Solis Inverter Power A", "unique": "solis_modbus_inverter_power_a",
"register": ['3257', '3258'], "multiplier": 1,
"unit_of_measurement": UnitOfEnergy.KILO_WATT_HOUR, "state_class": SensorStateClass.TOTAL_INCREASING},
{"type": "SS", "name": "Solis Inverter Power B", "unique": "solis_modbus_inverter_power_b",
"register": ['3259', '3260'], "multiplier": 1,
"unit_of_measurement": UnitOfEnergy.KILO_WATT_HOUR, "state_class": SensorStateClass.TOTAL_INCREASING},
{"type": "SS", "name": "Solis Inverter Power C", "unique": "solis_modbus_inverter_power_c",
"register": ['3261', '3262'], "multiplier": 1,
"unit_of_measurement": UnitOfEnergy.KILO_WATT_HOUR, "state_class": SensorStateClass.TOTAL_INCREASING},
{"type": "SS", "name": "Solis Inverter Total Active Power", "unique": "solis_modbus_inverter_total_active_power",
"register": ['3263', '3264'], "multiplier": 1,
"unit_of_measurement": UnitOfEnergy.KILO_WATT_HOUR, "state_class": SensorStateClass.TOTAL_INCREASING},
]
},
{
"register_start": 36022,
"scan_interval": 60,
"register_start": 36011,
"scan_interval": 0,
"entities": [

{"type": "SS", "name": "Solis Clock (Hours)",
"unique": "solis_modbus_inverter_clock_hours",
"register": ['36022'], "multiplier": 0,
"unit_of_measurement": UnitOfTime.HOURS, "state_class": SensorStateClass.MEASUREMENT},
{"type": "SS", "name": "Solis Clock (Minutes)",
"unique": "solis_modbus_inverter_clock_minutes",
"register": ['36023'], "multiplier": 0,
"unit_of_measurement": UnitOfTime.MINUTES, "state_class": SensorStateClass.MEASUREMENT},
{"type": "SS", "name": "Solis Clock (Seconds)",
"unique": "solis_modbus_inverter_clock_seconds",
"register": ['36024'], "multiplier": 0,
"unit_of_measurement": UnitOfTime.SECONDS, "state_class": SensorStateClass.MEASUREMENT},
{"type": "SS", "name": "Solis Inverter Total Power", "unique": "solis_modbus_inverter_total_power",
"register": ['36011', '36012'], "multiplier": 100,
"unit_of_measurement": UnitOfPower.WATT, "state_class": SensorStateClass.MEASUREMENT},
]
},
{
"register_start": 36028,
"scan_interval": 60,
"scan_interval": 0,
"entities": [
{"type": "SS", "name": "Solis Total Load power",
"unique": "solis_modbus_inverter_total_load_power",
"register": ['36028', '36029'], "device_class": SensorDeviceClass.POWER, "multiplier": 100,
"unit_of_measurement": UnitOfPower.WATT, "state_class": SensorStateClass.MEASUREMENT}
{"type": "SS", "name": "Solis Inverter Total Load Power", "unique": "solis_modbus_inverter_total_load_power",
"register": ['36028', '36029'], "multiplier": 100,
"unit_of_measurement": UnitOfPower.WATT, "state_class": SensorStateClass.MEASUREMENT},
]
},
{
"register_start": 36050,
"scan_interval": 60,
"scan_interval": 0,
"entities": [
{"type": "SS", "name": "Solis Total Generation Energy",
"unique": "solis_modbus_inverter_total_generation_energy",
"register": ['36050', '36051'], "device_class": SensorDeviceClass.ENERGY, "multiplier": 0.01,
{"type": "SS", "name": "Solis Inverter Total Generation Energy", "unique": "solis_modbus_inverter_total_generation_energy",
"register": ['36050', '36051'], "multiplier": 0.01,
"unit_of_measurement": UnitOfEnergy.KILO_WATT_HOUR, "state_class": SensorStateClass.TOTAL_INCREASING},

{"type": "SS", "name": "Solis Load Total Consumption Energy",
"unique": "solis_modbus_inverter_total_load_power",
"register": ['36052', '36053'], "device_class": SensorDeviceClass.ENERGY, "multiplier": 0.01,
{"type": "SS", "name": "Solis Inverter Total Consumption Energy", "unique": "solis_modbus_inverter_total_consumption_energy",
"register": ['36052', '36053'], "multiplier": 0.01,
"unit_of_measurement": UnitOfEnergy.KILO_WATT_HOUR, "state_class": SensorStateClass.TOTAL_INCREASING},

{"type": "SS", "name": "Solis Grid Import Total Active Energy",
"unique": "solis_modbus_inverter_grid_import_total_active_energy",
"register": ['36054', '36055'], "device_class": SensorDeviceClass.ENERGY, "multiplier": 0.01,
{"type": "SS", "name": "Solis Inverter Total Grid Import Active Energy", "unique": "solis_modbus_inverter_total_grid_import_active_energy",
"register": ['36054', '36055'], "multiplier": 0.01,
"unit_of_measurement": UnitOfEnergy.KILO_WATT_HOUR, "state_class": SensorStateClass.TOTAL_INCREASING},

{"type": "SS", "name": "Solis Grid Export Total Active Energy",
"unique": "solis_modbus_inverter_grid_export_total_active_energy",
"register": ['36056', '36057'], "device_class": SensorDeviceClass.ENERGY, "multiplier": 0.01,
{"type": "SS", "name": "Solis Inverter Total Grid Export Active Energy", "unique": "solis_modbus_inverter_total_grid_export_active_energy",
"register": ['36056', '36057'], "multiplier": 0.01,
"unit_of_measurement": UnitOfEnergy.KILO_WATT_HOUR, "state_class": SensorStateClass.TOTAL_INCREASING},
]
},
{
"register_start": 33005,
"scan_interval": 15,
"entities": [
{"type": "SS", "name": "Solis Active Power",
"unique": "solis_modbus_inverter_active_power",
"register": ['33005', '33006'], "device_class": SensorDeviceClass.POWER, "multiplier": 1,
"unit_of_measurement": UnitOfPower.WATT, "state_class": SensorStateClass.MEASUREMENT},

{"type": "SS", "name": "Solis Total DC Output Power",
"unique": "solis_modbus_inverter_total_dc_output_power",
"register": ['33007', '33008'], "device_class": SensorDeviceClass.POWER, "multiplier": 1,
"unit_of_measurement": UnitOfPower.WATT, "state_class": SensorStateClass.MEASUREMENT},
{"type": "SS", "name": "Solis Inverter EPM Transmission Switch", "unique": "solis_modbus_inverter_epm_transmission_switch",
"register": ['36058'], "multiplier": 0.01},
{"type": "SS", "name": "Solis Inverter Batch Upgrade Flag", "unique": "solis_modbus_inverter_batch_upgrade_flag",
"register": ['36060'], "multiplier": 1},
{"type": "SS", "name": "Solis Inverter EPM Model", "unique": "solis_modbus_inverter_epm_model",
"register": ['36060'], "multiplier": 1},
]
},
]

string_sensors_derived = [
{"type": "SDS", "name": "Solis Status String",
"unique": "solis_modbus_inverter_current_status_string", "multiplier": 0,
"register": ['33095']},

{"type": "SDS", "name": "Solis PV Power 1",
"unique": "solis_modbus_inverter_dc_power_1", "device_class": SensorDeviceClass.POWER, "multiplier": 0.1,
"unit_of_measurement": UnitOfPower.WATT, "state_class": SensorStateClass.MEASUREMENT,
"register": ['33049', '33050']},

{"type": "SDS", "name": "Solis PV Power 2",
"unique": "solis_modbus_inverter_dc_power_2", "device_class": SensorDeviceClass.POWER, "multiplier": 0.1,
"unit_of_measurement": UnitOfPower.WATT, "state_class": SensorStateClass.MEASUREMENT,
"register": ['33051', '33052']},

{"type": "SDS", "name": "Solis PV Power 3",
"unique": "solis_modbus_inverter_dc_power_3", "device_class": SensorDeviceClass.POWER, "multiplier": 0.1,
"unit_of_measurement": UnitOfPower.WATT, "state_class": SensorStateClass.MEASUREMENT,
"register": ['33053', '33054']},

{"type": "SDS", "name": "Solis PV Power 4",
"unique": "solis_modbus_inverter_dc_power_4", "device_class": SensorDeviceClass.POWER, "multiplier": 0.1,
"unit_of_measurement": UnitOfPower.WATT, "state_class": SensorStateClass.MEASUREMENT,
"register": ['33055', '33056']},

{"type": "SDS", "name": "Solis Battery Charge Power",
"unique": "solis_modbus_inverter_battery_charge_power", "device_class": SensorDeviceClass.POWER,
"multiplier": 0.1,
"unit_of_measurement": UnitOfPower.WATT, "state_class": SensorStateClass.MEASUREMENT,
"register": ['33149', '33150', '33135', '0']},
{"type": "SDS", "name": "Solis Battery Discharge Power",
"unique": "solis_modbus_inverter_battery_discharge_power", "device_class": SensorDeviceClass.POWER,
"multiplier": 0.1,
"unit_of_measurement": UnitOfPower.WATT, "state_class": SensorStateClass.MEASUREMENT,
"register": ['33149', '33150', '33135', '1']}
]

0 comments on commit ab49935

Please sign in to comment.