Yes
It will contain a single device and several sensors
Sensor states will be posted to HA routinely.
I had a look at the ESPHome Github and got nowhere.
However I had a look in the settings->devices
and had a look at one of my ESPHome devices.
I downloaded the diagnostics data and found this
{
"home_assistant": {
[blah blah]
},
"custom_components": {
[blah blah]
},
"integration_manifest": {
"domain": "esphome",
"name": "ESPHome",
"after_dependencies": [
"zeroconf",
"tag"
],
"codeowners": [
"@OttoWinter",
"@jesserockz",
"@kbx81",
"@bdraco"
],
"config_flow": true,
"dependencies": [
"assist_pipeline",
"bluetooth"
],
"dhcp": [
{
"registered_devices": true
}
],
"documentation": "https://www.home-assistant.io/integrations/esphome",
"integration_type": "device",
"iot_class": "local_push",
"loggers": [
"aioesphomeapi",
"noiseprotocol"
],
"requirements": [
"aioesphomeapi==19.2.1",
"bluetooth-data-tools==1.15.0",
"esphome-dashboard-api==1.2.3"
],
"zeroconf": [
"_esphomelib._tcp.local."
],
"is_built_in": true
},
"data": {
"config": {
"entry_id": "b73029e1626dea36053bd4d0b35879d6",
"version": 1,
"domain": "esphome",
"title": "solar-relay-box",
"data": {
"host": "192.168.1.63",
"port": 6053,
"password": "",
"noise_psk": "**REDACTED**",
"device_name": "solar-relay-box"
},
"options": {},
"pref_disable_new_entities": false,
"pref_disable_polling": false,
"source": "zeroconf",
"unique_id": "**REDACTED**",
"disabled_by": null
},
"storage_data": {
"device_info": {
"uses_password": false,
"name": "solar-relay-box",
"friendly_name": "Solar Relay Box",
"mac_address": "**REDACTED**",
"compilation_time": "Oct 10 2023, 14:46:26",
"model": "esp12e",
"manufacturer": "Espressif",
"has_deep_sleep": false,
"esphome_version": "2023.8.3",
"project_name": "",
"project_version": "",
"webserver_port": 0,
"voice_assistant_version": 0,
"legacy_bluetooth_proxy_version": 0,
"bluetooth_proxy_feature_flags": 0,
"suggested_area": ""
},
"services": [],
"api_version": {
"major": 1,
"minor": 9
},
"sensor": [
{
"object_id": "solar_tank_temperature",
"key": 2719621008,
"name": "Solar Tank Temperature",
"unique_id": "dallas-da0416a4c6beff28",
"disabled_by_default": false,
"icon": "",
"entity_category": 0,
"device_class": "temperature",
"unit_of_measurement": "\u00b0C",
"accuracy_decimals": 1,
"force_update": false,
"state_class": 1,
"last_reset_type": 0
},
{
"object_id": "wifi_signal_db",
"key": 1535411390,
"name": "WiFi Signal dB",
"unique_id": "e868e7d206f1-wifisignal",
"disabled_by_default": false,
"icon": "",
"entity_category": 2,
"device_class": "signal_strength",
"unit_of_measurement": "dBm",
"accuracy_decimals": 0,
"force_update": false,
"state_class": 1,
"last_reset_type": 0
}
],
"text_sensor": [],
"switch": [
{
"object_id": "dhw_pump_override_relay",
"key": 815455542,
"name": "DHW Pump Override Relay",
"unique_id": "solar-relay-boxswitchdhw_pump_override_relay",
"disabled_by_default": false,
"icon": "mdi:solar-power-variant",
"entity_category": 0,
"assumed_state": false,
"device_class": ""
}
]
},
"dashboard": "5c53de3b_esphome"
}
}
The data->storage_data->sensor array looks interesting as it specifies the sensors.
I suspect this came directly from the ESPHome device, possibly from the discovery api endpoint.
I might play around with structures like this using the discovery api endpoint