The logs from my test driver Matter Switch P316M Test v0.2 confirm that SmartThings exposes the complete device structure:
Endpoint inventory: all=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
OnOff server=[1, 2, 3, 4, 5, 6],
Electrical Sensor=[7, 8, 9, 10, 11, 12],
default=1
The driver then creates the five missing outlet children:
Requesting child for OnOff EP 2 with profile plug-binary
Requesting child for OnOff EP 3 with profile plug-binary
Requesting child for OnOff EP 4 with profile plug-binary
Requesting child for OnOff EP 5 with profile plug-binary
Requesting child for OnOff EP 6 with profile plug-binary
After the electrical topology is received, all devices are upgraded to the final profile:
Tapo P316M Smart Power Strip 2: Updating device profile to plug-power-energy-powerConsumption
Tapo P316M Smart Power Strip 3: Updating device profile to plug-power-energy-powerConsumption
Tapo P316M Smart Power Strip 4: Updating device profile to plug-power-energy-powerConsumption
Tapo P316M Smart Power Strip 5: Updating device profile to plug-power-energy-powerConsumption
Tapo P316M Smart Power Strip 6: Updating device profile to plug-power-energy-powerConsumption
Finally, separate switch events are emitted for every child:
Tapo P316M Smart Power Strip 2: emitting event ... "value":"on"
Tapo P316M Smart Power Strip 3: emitting event ... "value":"on"
Tapo P316M Smart Power Strip 4: emitting event ... "value":"on"
Tapo P316M Smart Power Strip 5: emitting event ... "value":"on"
Tapo P316M Smart Power Strip 6: emitting event ... "value":"on"
So the test confirms that creating basic On/Off children before electrical profiling completes successfully restores all six outlets. The remaining power/energy reporting problem appears to be a separate issue.
Added a comment to the PR.
The original driver waits for electrical profiling to finish before creating the additional outlet devices. My driver creates the basic On/Off children immediately, prevents duplicate creation requests, and upgrades their profiles once the electrical topology is available.
Original flow
Wait for electrical profiling
↓
Enumerate On/Off endpoints
↓
Create child devices
↓
Assign final power/energy profiles
New flow
Enumerate On/Off endpoints
↓
Create basic On/Off child devices
↓
Complete electrical profiling
↓
Upgrade parent and child profiles
This ensures that valid, independently controllable outlets are not hidden just because electrical profiling is delayed or incomplete.