Arduino Falsely sensing HIGH and triggering

My Arduino Uno keeps randomly (falsely) sensing a switch is closed. I have a Arduino that controls a set of relays that controls my furnace.

The trigger is normal household thermostat (not a fancy Nest or anything like that) that just closes a switch when it gets cold. I feed +5V direct from the power supply (also connected to the Arduino so has a common ground) to the switch and when it closes it brings pin 13 HIGH and the Arduino kicks into action. When the thermostat is off (switch is open) pin 13 is pulled low with a 10K resistor.

The above is nothing more than the equivalent of a basic push-button circuit controlled by temperature.

The problem is the Arduino "randomly" triggers the furnace even when the thermostat switch never closed. I say "randomly" in quotes because I've on one or 2 occasions noticed it seems to happen when you flick on a light switch someplace else in the house.

I can not reproduce this on purpose. I can flick the lights on-and-off all day and it never happens so I'm not 100% sure this really related but it's my only theory at the moment.

The distance from the Arduino to the thermostat switch is about 20 feet of typical solid thermostat wire (18 gauge solid copper un-shielded).

Is 5V to weak and/or subject to noise or what could be the possible cause of this?

Because of the long wires noise pickup will be increased. A lower value pulldown resistor might help.

See this post Button FAQ: common mistake - button does NOT work as expected. - Introductory Tutorials - Arduino Forum

There are a number of other solutions

Shielding
Guarding
differential amplifier
Low pass filter

First you need to get some measurements of the noise
If the injected voltage is high enough you may permanently damage your input.

The long wires act as antennas for various sources of electrical noise. At the very least use twisted pair wiring. You may need to use shielded twisted pair. Ground the shield at the Arduino only.

As suggested reduce the pull down resistor to 1K or even lower.

Make sure that the thermostat switch is not connected to anything else.

Isn't pin 13 the built in LED pin? Not a good choice for an input.

Yes pin 13 cannot have a simple low-pass filter (ie a 100nF cap) added to it because its configured as an OUTPUT during startup and may cook with a heavy capacitive load.

Use a different pin and add 10nF to 100nF capacitor or so to ground on the pin to kill the noise spikes and protect
the pin from destruction. (Yes noise spikes into an input pin from a long cable can easily destroy it).

Thanks everyone for the responses. I had no idea you weren't supposed to use pin 13 for input so thanks for that tip. I'll reduce the pull down resistor and add a capacitor. Thanks again.