@@ -34,6 +34,7 @@ async def async_update_data():
3434 new_entities .append (HotWaterTemperatureSensor (coordinator , tank ))
3535 new_entities .append (ColdestWaterTemperatureSensor (coordinator , tank ))
3636 new_entities .append (ChargeSensor (coordinator , tank ))
37+ new_entities .append (TargetChargeSensor (coordinator , tank ))
3738 new_entities .append (ElectricHeatSensor (coordinator , tank ))
3839 new_entities .append (IndirectHeatSensor (coordinator , tank ))
3940 new_entities .append (HeatPumpHeatSensor (coordinator ,tank ))
@@ -44,6 +45,7 @@ async def async_update_data():
4445 new_entities .append (TargetTemperatureSensor (coordinator , tank ))
4546 new_entities .append (HolidayModeSensor (coordinator , tank ))
4647 new_entities .append (PVPowerSensor (coordinator , tank ))
48+ new_entities .append (IsChargingSensor (coordinator , tank ))
4749
4850 async_add_entities (new_entities )
4951
@@ -129,6 +131,31 @@ def icon(self):
129131 @property
130132 def name (self ):
131133 return f"Current Charge"
134+
135+ class TargetChargeSensor (SensorBase ):
136+
137+ def __init__ (self , coordinator , tank :Tank ):
138+ super ().__init__ (coordinator , tank )
139+
140+ @property
141+ def unique_id (self ):
142+ return f"mixergy_{ self ._tank .serial_number } _target_charge"
143+
144+ @property
145+ def unit_of_measurement (self ):
146+ return PERCENTAGE
147+
148+ @property
149+ def state (self ):
150+ return self ._tank .target_charge
151+
152+ @property
153+ def icon (self ):
154+ return "hass:water-percent"
155+
156+ @property
157+ def name (self ):
158+ return f"Target Charge"
132159
133160class HotWaterTemperatureSensor (SensorBase ):
134161
@@ -306,6 +333,28 @@ def icon(self):
306333 @property
307334 def name (self ):
308335 return f"Low Hot Water"
336+
337+ class IsChargingSensor (BinarySensorBase ):
338+
339+ def __init__ (self , coordinator , tank :Tank ):
340+ super ().__init__ ( coordinator , tank )
341+ self ._state = STATE_OFF
342+
343+ @property
344+ def unique_id (self ):
345+ return f"mixergy_{ self ._tank .tank_id } _charging"
346+
347+ @property
348+ def is_on (self ):
349+ return self ._tank .target_charge > 0
350+
351+ @property
352+ def icon (self ):
353+ return "hass:water-percent-alert"
354+
355+ @property
356+ def name (self ):
357+ return f"Is Charging"
309358
310359class PowerSensor (SensorBase ):
311360
0 commit comments