@@ -455,7 +455,13 @@ async def async_setup_entry(
455455 )
456456 sensors .append (
457457 SessySensor (
458- hass , config_entry , "Tariff" , p1_details_coordinator , "tariff_indicator"
458+ hass ,
459+ config_entry ,
460+ "Tariff" ,
461+ p1_details_coordinator ,
462+ "tariff_indicator" ,
463+ availability_key = "state" ,
464+ availability_test_value = SessyP1State .OK ,
459465 )
460466 )
461467
@@ -469,6 +475,8 @@ async def async_setup_entry(
469475 SensorDeviceClass .POWER ,
470476 SensorStateClass .MEASUREMENT ,
471477 UnitOfPower .WATT ,
478+ availability_key = "state" ,
479+ availability_test_value = SessyP1State .OK ,
472480 )
473481 )
474482 sensors .append (
@@ -481,6 +489,8 @@ async def async_setup_entry(
481489 SensorDeviceClass .POWER ,
482490 SensorStateClass .MEASUREMENT ,
483491 UnitOfPower .WATT ,
492+ availability_key = "state" ,
493+ availability_test_value = SessyP1State .OK ,
484494 )
485495 )
486496 sensors .append (
@@ -493,6 +503,8 @@ async def async_setup_entry(
493503 SensorDeviceClass .POWER ,
494504 SensorStateClass .MEASUREMENT ,
495505 UnitOfPower .WATT ,
506+ availability_key = "state" ,
507+ availability_test_value = SessyP1State .OK ,
496508 )
497509 )
498510 try :
@@ -511,6 +523,8 @@ async def async_setup_entry(
511523 transform_function = divide_by_thousand ,
512524 precision = 3 ,
513525 enabled_default = gas_meter_present ,
526+ availability_key = "state" ,
527+ availability_test_value = SessyP1State .OK ,
514528 )
515529 )
516530 except Exception as e :
@@ -528,6 +542,8 @@ async def async_setup_entry(
528542 SensorStateClass .MEASUREMENT ,
529543 UnitOfElectricPotential .MILLIVOLT ,
530544 suggested_unit_of_measurement = UnitOfElectricPotential .VOLT ,
545+ availability_key = "state" ,
546+ availability_test_value = SessyP1State .OK ,
531547 )
532548 )
533549 sensors .append (
@@ -542,6 +558,8 @@ async def async_setup_entry(
542558 UnitOfElectricCurrent .MILLIAMPERE ,
543559 precision = 0 ,
544560 suggested_unit_of_measurement = UnitOfElectricCurrent .AMPERE ,
561+ availability_key = "state" ,
562+ availability_test_value = SessyP1State .OK ,
545563 )
546564 )
547565 sensors .append (
@@ -554,6 +572,8 @@ async def async_setup_entry(
554572 SensorDeviceClass .POWER ,
555573 SensorStateClass .MEASUREMENT ,
556574 UnitOfPower .WATT ,
575+ availability_key = "state" ,
576+ availability_test_value = SessyP1State .OK ,
557577 )
558578 )
559579 sensors .append (
@@ -566,6 +586,8 @@ async def async_setup_entry(
566586 SensorDeviceClass .POWER ,
567587 SensorStateClass .MEASUREMENT ,
568588 UnitOfPower .WATT ,
589+ availability_key = "state" ,
590+ availability_test_value = SessyP1State .OK ,
569591 )
570592 )
571593
@@ -581,6 +603,8 @@ async def async_setup_entry(
581603 SensorStateClass .TOTAL ,
582604 UnitOfEnergy .WATT_HOUR ,
583605 suggested_unit_of_measurement = UnitOfEnergy .KILO_WATT_HOUR ,
606+ availability_key = "state" ,
607+ availability_test_value = SessyP1State .OK ,
584608 )
585609 )
586610 sensors .append (
@@ -594,6 +618,8 @@ async def async_setup_entry(
594618 SensorStateClass .TOTAL ,
595619 UnitOfEnergy .WATT_HOUR ,
596620 suggested_unit_of_measurement = UnitOfEnergy .KILO_WATT_HOUR ,
621+ availability_key = "state" ,
622+ availability_test_value = SessyP1State .OK ,
597623 )
598624 )
599625
@@ -711,6 +737,8 @@ def __init__(
711737 precision : int = None ,
712738 suggested_unit_of_measurement = None ,
713739 enabled_default : bool = True ,
740+ availability_key : str = None ,
741+ availability_test_value : str = None ,
714742 ):
715743 super ().__init__ (
716744 hass = hass ,
@@ -720,6 +748,8 @@ def __init__(
720748 data_key = data_key ,
721749 transform_function = transform_function ,
722750 translation_key = translation_key ,
751+ availability_key = availability_key ,
752+ availability_test_value = availability_test_value ,
723753 )
724754
725755 self ._attr_device_class = device_class
@@ -735,7 +765,6 @@ def __init__(
735765 self ._attr_entity_registry_enabled_default = enabled_default
736766
737767 def update_from_cache (self ):
738- self ._attr_available = self .cache_value is not None
739768 self ._attr_native_value = self .cache_value
740769
741770
0 commit comments