Think about smart home switches. They all perform a similar function and it's safe to assume that they should have the same data model, GPIOs, firmware code, etc. You can create a SmartSwitch template and then create multiple SmartHome switches from it.