@@ -317,7 +317,9 @@ async def async_update_data():
317317 #sensors.append(QingpingDeviceSensor(coordinator, config_entry, mac, name, SENSOR_BATTERY, "Battery", PERCENTAGE, SensorDeviceClass.BATTERY, SensorStateClass.MEASUREMENT, device_info))
318318 if model in ["CGS1" , "CGS2" , "CGDN1" , "CGP22C" , "CGP22W" , "CGP23W" ]:
319319 sensors .append (battery_state )
320- sensors .append (QingpingDeviceSensor (coordinator , config_entry , mac , name , SENSOR_BATTERY , "Battery" , PERCENTAGE , SensorDeviceClass .BATTERY , SensorStateClass .MEASUREMENT , device_info ))
320+ battery_sensor = QingpingDeviceSensor (coordinator , config_entry , mac , name , SENSOR_BATTERY , "Battery" , PERCENTAGE , SensorDeviceClass .BATTERY , SensorStateClass .MEASUREMENT , device_info )
321+ battery_sensor ._attr_entity_category = EntityCategory .DIAGNOSTIC
322+ sensors .append (battery_sensor )
321323 sensors .append (QingpingDeviceSensor (coordinator , config_entry , mac , name , SENSOR_TEMPERATURE , "Temperature" , native_temp_unit , SensorDeviceClass .TEMPERATURE , SensorStateClass .MEASUREMENT , device_info ))
322324 sensors .append (QingpingDeviceSensor (coordinator , config_entry , mac , name , SENSOR_HUMIDITY , "Humidity" , PERCENTAGE , SensorDeviceClass .HUMIDITY , SensorStateClass .MEASUREMENT , device_info ))
323325
@@ -975,6 +977,11 @@ def icon(self):
975977
976978 async def publish_config (self ):
977979 """Publish configuration message to MQTT."""
980+ # Check if entity has been added to hass yet
981+ if not self .hass :
982+ _LOGGER .debug (f"[{ self ._mac } ] Sensor not yet added to hass, skipping config publish" )
983+ return
984+
978985 update_interval = self .coordinator .data .get (CONF_UPDATE_INTERVAL , 15 )
979986 topic = f"{ MQTT_TOPIC_PREFIX } /{ self ._mac } /down"
980987
0 commit comments