This is about the MQTT discovery process and its handling by ai-on-the-edge.
Currently HA throws a warning about deprecated object_id usage
The configuration for entity sensor.gasmeter_rate_per_digitalization_round uses the deprecated option object_id to set the default entity id. Replace the "object_id": "gasmeter_rate_per_digitalization_round" option with "default_entity_id": "sensor.gasmeter_rate_per_digitalization_round" in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
The author SybexX is not using HA himself and relies on HAâs documentation. In his latest release he addresses this new behavior in the discovery process by sending a combined payload string that includes both the old and the new syntax. He writes:
It will both âobject_id:â and âdefault_entity_id: sensor.â sent and HA should use prioritized âdefault_entity_idâ if it is present and ignore object_id, at least thatâs what Iâve read in countless forums.
Can anybody comment on MQTTâs behavior? 2026.1 appears to ignore default_entity_id and keeps using object_id instead.
The MQTT integration did not update the initially recognized information with the new payload. I deleted the two meters, restarted HA and restarted the discovery process. No more warnings in the HA Core log.
Funny that the device info gets updated in MQTT for some people but not for others.
Iâm not the maintainer, but I did submit the PR to fix this problem. If youâre running the latest release of ai on the edge, you shouldnât get this warning.
Are you still having this issue?
Edit:
The MQTT autodiscovery payload should be sent when the ESP cam restarts, but if not, you can choose âmanual controlâ â âresend Homeassistant discoveryâ. As mentioned here in the config settings:
The problem appears to lie at HAâs side, but maybe it is by design. Once a device is discovered and entities crated within HA, they donât get updated when a new payload is received. Hence the âobject_idâ is preserved by HA and not replaced by âdefault_entity_idâ.
Iâve never had an MQTT entity not get updated immediately when the autodiscovery information gets changed.
Something must not be working correctly with your setup.
If you want to poke around, Iâd recommend using MQTT Explorer to see what the payloads are, and you can tweak them to see if your changes are reflected in HA.
The string contains both definitions, i.e for the old and new HA. My hypothesis would be that given the already existing âobject_idâ, HA would not pick default_entity_id. For a new device HA selects the correct element.
Of course you can change them. You canât influence what AI on the Edge does, but you can publish payloads to those topics whenever you wish, via whatever your favorite method is. For example: from within MQTT Explorer, or using HAâs MQTT.publish action, or using mosquitto_pub from the command line, etc.
My suggestion was, if you want to debug further, youâll need to remove the default_entity_id from the payload, get the deprecation notice again (reload MQTT or restart HA if necessary), clear your logs, and then add it back in again, and see if the deprecation notice comes back. As long as your ESP cam doesnât reboot during this debugging process it wonât affect anything.
On a normally functioning installation, adding the default_entity_id to the autodiscovery payload of an existing entity is all that is needed. You donât need to delete and recreate the entity. HA will recognize the addition and will stop issuing the deprecation notice in the logs.