Detecting snow/ice

I have a spot on my front sidewalk where melting snow causes water to drip on the front step and sidewalk, where it promptly freezes and becomes a hazard. Salt/ice melt is useless because the dripping water washes it away.

I bought some heated mats designed for melting snow/ice from sidewalks and stairs, and they’re plugged into a z-wave outlet. It’s easy enough to turn the mats on/off through HA or Google Assistant, but I’d love to take it a step further and make it fully automatic.

Looking for ideas as to how to detect water/ice, or some other condition that would be suitable for triggering an automation to turn the mats on/off.

I’ve considered using predicted or measured precipitation from a weather entity, but this icing problem can occur on a sunny day when the snow on the roof is melting, but the sidewalk is below freezing.

Temperature alone doesn’t seem like it would work, because if the air temp is cold enough, there’s no snow melt, and thus nothing dripping onto the sidewalk.

Ideas?

1 Like

I also need a solution for this!

Don’t know if this would work, but Here is an ESPHome project on Github that makes a non-contact IR Temperature Sensor using a $15 GY-906 sensor.

GY-906

And another on Instructables using an Arduino.

If you make one, please share it here.

What I settled on is fairly simple - using a weather entity, if the air temp is below 40, turn the mats on for an hour, then off, check again in an hour. If the weather condition is snowy, snowy-rainy, rainy, or pouring (basically any precip) and the air temp is below 50, turn the mats on and check again in an hour - this keeps them on continuously until the precip stops.

This worked perfectly for me last year - kept the sidewalk clear even during an extended 18-inch snowfall.

Since you got this to work perfectly, would you mind sharing your setup? Thanks so much!!

1 Like

Would also love to get more details on your setup. Your summary makes sense but more details would be helpful, like how the weather entities are setup, or maybe even some YAML…

Hi, is it possible to share your YAML code for the automation ? Really interesting.

My automation for this has evolved considerably since the original implementation. I’m now using a combination of counters and timers to keep track of estimated snowfall, current estimated snow cover/melt, and precipitation start/stop. During a snowfall event, I turn on the mats (and heated roof cables) and keep track of (estimated) how much snow falls. Once the snow stops, I keep the mats/cables turned on for 3 hours for every inch of estimated accumulation.

Outside of an active snowfall event, if the temperature is between 31 and 40 degrees F and there’s (again, estimated) snow on the ground, I turn the mats/cables on to deal with snow melting on the roof and dripping onto the cold sidewalk or driveway.

Above 40F everything stays off.