Grouping dissimilar entity types under one Device in Auto Discovery

I am working on an integration for an RV control system, and am using Auto Discovery to import the endpoints. The manufacturer uses different components, and each component can have several different types of entities.

So, I am trying to figure out the right way to do this. An example I found online was that you do multiple discovery topics under the same device:

homeassistant/sensor/plant_sensor_1/temperature/config
homeassistant/sensor/plant_sensor_1/humidity/config
homeassistant/sensor/plant_sensor_1/lux/config

In my case, it is more like this:

Device: Black Tank Monitor
      entity1: online_status (binary_sensor)
      entity2: tank_level (sensor)
      entity3: fault_reset (switch)

The goal is for something like this:

This is the current payload going to a single config topic per entity:

{
	"payload_on": "ON",
	"payload_off": "OFF",
	"device_class": "connectivity",
	"name": "Onecontrol Fuel Tank Online",
	"unique_id": "tank-sensor_0000000DA7250A09_online",
	"state_topic": "smarthome/items/idsmyrv_tank_sensor_thing_0000000DA7250A09_online/state",
	"json_attributes_topic": "homeassistant/binary_sensor/tank-sensor_0000000DA7250A09_online/attributes",
	"availability": {
		"topic": "smarthome/things/idsmyrv:tank-sensor-thing:0000000DA7250A09/status",
		"payload_available": "ONLINE",
		"payload_not_available": "OFFLINE"
	},
	"enabled_by_default": "true",
	"device": {
		"manufacturer": "Lippert Components",
		"via_device": "OneControl Gateway",
		"identifiers": "tank-sensor_0000000DA7250A09",
		"name": "Fuel Tank",
		"model": "OneControl",
		"sw_version": 1
	},
	"retain": "true"
}

Any help is appreciated!