My 2017 2500HD Sierra had am intermittent weak horn it was mainly evident when I would arm my alarm. One day I got check engine light it through a code for loss of TCM link I took it in the dealer reseated and retorqued all the connections on the main bus harness that fixed all issues including horn. I suspect maybe they do a shotty job with some of the connectors in the factory