== and === confusion

This is a good summary of the differences: https://stackoverflow.com/a/359509/2117239

In short, === is a strict type and value test. In your code, that means the Active property must be a Number type and must have the value 0.

The == comparison doesn't do strict type checking. So it will accept a much wider set of values. For example: "0"==0. But also false==0 and other possibly unexpected results. This is why you get a warning.

So the real question is what exactly is the value and type of the msg.payload[i].Active property. If you pass it to the debug sidebar, it should give you hint you need.