Set the device to send traps using the community name defined on the device and not public.
Why is Spectrum using the community string of 'public' to model devices instead of those defined in Community Strings list?
Spectrum's Trap-based discovery is not creating new models
Device is reachable via SNMP, yet trap-based discovery is not modeling device
Causes of this problem:
Many customers block SNMP requests made with the community string of 'public.' The community string of the trap is always used first to discover the device and then if that fails, Spectrum will use the community string list.
(Legacy KB ID CNC TS33801 )