Skip to content

Commit

Permalink
battery HASS: move voltage and current sensors to base class
Browse files Browse the repository at this point in the history
  • Loading branch information
schlimmchen committed Feb 16, 2025
1 parent fa285a7 commit 68eff6d
Show file tree
Hide file tree
Showing 7 changed files with 12 additions and 13 deletions.
13 changes: 12 additions & 1 deletion src/battery/HassIntegration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,18 @@ void HassIntegration::publishSensors() const
{
publishSensor("Manufacturer", "mdi:factory", "manufacturer");
publishSensor("Data Age", "mdi:timer-sand", "dataAge", "duration", "measurement", "s");
publishSensor("State of Charge (SoC)", "mdi:battery-medium", "stateOfCharge", "battery", "measurement", "%");

if (_spStats->isSoCValid()) {
publishSensor("State of Charge (SoC)", "mdi:battery-medium", "stateOfCharge", "battery", "measurement", "%");
}

if (_spStats->isVoltageValid()) {
publishSensor("Voltage", "mdi:battery-charging", "voltage", "voltage", "measurement", "V");
}

if (_spStats->isCurrentValid()) {
publishSensor("Current", "mdi:current-dc", "current", "current", "measurement", "A");
}
}

void HassIntegration::publishSensor(const char* caption, const char* icon,
Expand Down
2 changes: 0 additions & 2 deletions src/battery/jbdbms/HassIntegration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ void HassIntegration::publishSensors() const
::Batteries::HassIntegration::publishSensors();

// caption icon topic dev. class state class unit
publishSensor("Voltage", "mdi:battery-charging", "voltage", "voltage", "measurement", "V");
publishSensor("Current", "mdi:current-dc", "current", "current", "measurement", "A");
publishSensor("Cell Min Voltage", NULL, "CellMinMilliVolt", "voltage", "measurement", "mV");
publishSensor("Cell Average Voltage", NULL, "CellAvgMilliVolt", "voltage", "measurement", "mV");
publishSensor("Cell Max Voltage", NULL, "CellMaxMilliVolt", "voltage", "measurement", "mV");
Expand Down
2 changes: 0 additions & 2 deletions src/battery/jkbms/HassIntegration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ void HassIntegration::publishSensors() const
::Batteries::HassIntegration::publishSensors();

// caption icon topic dev. class state class unit
publishSensor("Voltage", "mdi:battery-charging", "BatteryVoltageMilliVolt", "voltage", "measurement", "mV");
publishSensor("Current", "mdi:current-dc", "BatteryCurrentMilliAmps", "current", "measurement", "mA");
publishSensor("BMS Temperature", "mdi:thermometer", "BmsTempCelsius", "temperature", "measurement", "°C");
publishSensor("Cell Voltage Diff", "mdi:battery-alert", "CellDiffMilliVolt", "voltage", "measurement", "mV");
publishSensor("Battery Temperature 1", "mdi:thermometer", "BatteryTempOneCelsius", "temperature", "measurement", "°C");
Expand Down
2 changes: 0 additions & 2 deletions src/battery/pylontech/HassIntegration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ void HassIntegration::publishSensors() const
{
::Batteries::HassIntegration::publishSensors();

publishSensor("Battery voltage", NULL, "voltage", "voltage", "measurement", "V");
publishSensor("Battery current", NULL, "current", "current", "measurement", "A");
publishSensor("Temperature", NULL, "temperature", "temperature", "measurement", "°C");
publishSensor("State of Health (SOH)", "mdi:heart-plus", "stateOfHealth", NULL, "measurement", "%");
publishSensor("Charge voltage (BMS)", NULL, "settings/chargeVoltage", "voltage", "measurement", "V");
Expand Down
2 changes: 0 additions & 2 deletions src/battery/pytes/HassIntegration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ void HassIntegration::publishSensors() const
publishSensor("Discharge current limit", NULL, "settings/dischargeCurrentLimitation", "current", "measurement", "A");
publishSensor("Discharge voltage limit", NULL, "settings/dischargeVoltageLimitation", "voltage", "measurement", "V");

publishSensor("Voltage", "mdi:battery-charging", "voltage", "voltage", "measurement", "V");
publishSensor("Current", "mdi:current-dc", "current", "current", "measurement", "A");
publishSensor("State of Health (SOH)", "mdi:heart-plus", "stateOfHealth", NULL, "measurement", "%");
publishSensor("Temperature", "mdi:thermometer", "temperature", "temperature", "measurement", "°C");
publishSensor("Charge Cycles", "mdi:counter", "chargeCycles");
Expand Down
2 changes: 0 additions & 2 deletions src/battery/sbs/HassIntegration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ void HassIntegration::publishSensors() const
{
::Batteries::HassIntegration::publishSensors();

publishSensor("Battery voltage", NULL, "voltage", "voltage", "measurement", "V");
publishSensor("Battery current", NULL, "current", "current", "measurement", "A");
publishSensor("Temperature", NULL, "temperature", "temperature", "measurement", "°C");
publishSensor("State of Health (SOH)", "mdi:heart-plus", "stateOfHealth", NULL, "measurement", "%");
publishSensor("Charge voltage (BMS)", NULL, "settings/chargeVoltage", "voltage", "measurement", "V");
Expand Down
2 changes: 0 additions & 2 deletions src/battery/victronsmartshunt/HassIntegration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ void HassIntegration::publishSensors() const
{
::Batteries::HassIntegration::publishSensors();

publishSensor("Voltage", "mdi:battery-charging", "voltage", "voltage", "measurement", "V");
publishSensor("Current", "mdi:current-dc", "current", "current", "measurement", "A");
publishSensor("Instantaneous Power", NULL, "instantaneousPower", "power", "measurement", "W");
publishSensor("Charged Energy", NULL, "chargedEnergy", "energy", "total_increasing", "kWh");
publishSensor("Discharged Energy", NULL, "dischargedEnergy", "energy", "total_increasing", "kWh");
Expand Down

0 comments on commit 68eff6d

Please sign in to comment.