So iv had this issue for awhile now, at first the check engine light would only come on when it was cold outside, I would clear it and it would be fine till the next temp drop and would never come on during the summer. Last week i changed the fuse and its been fine, but Now it's back, I also changed the 02 sensor. I would say it's just the cat going out and change that but with the p0054 code saying it's the o2 sensor heater that makes me think the cat is fine but I don't know what commands the heater to turn on and what the 02 sensor talks to to say the heater isn't working. I'm really hoping it isn't wiring and it's just some module that is working properly. Idk how it is on trucks but I know on planes you can have a single small fault caused my a single module that controls multiple systems