What do you need before you start?
- An indoor temperature and humidity sensor in the problem room. Any Zigbee, Thread or Wi-Fi sensor that Home Assistant exposes as two entities works. Our temperature and humidity sensor roundup covers decent options.
- An outdoor temperature source. A sensor outside is best, but a weather integration entity such as the Met Office temperature also works; the Home Assistant docs use a weather temperature sensor in their own example.
- A way to measure the cold spot once. A cheap infrared thermometer or a second sensor taped to the coldest surface for an hour.
- The Companion app so the alert reaches your phone. If it is not set up, start with the notifications guide.
Why does mould grow where a humidity sensor says the room is fine?
Mould grows on cold surfaces because air touching them cools, so its relative humidity climbs even when the room reading looks normal. The Home Assistant documentation says humidity near a cold surface may lead to mould growth at more than about 70% and causes condensation at 100%.
That is why a room that reads 55% can still have black spots behind a wardrobe on an external wall. The UK government guidance on damp and mould says condensation is one of the most common causes of damp and mould in homes, and that simply removing surface mould will not stop it coming back. Monitoring tells you when conditions are building, which is the part you can automate; fixing the underlying ventilation, heating or building defect is still a human job.
Step 1: Check your three source sensors
Open Settings > Devices & services > Entities and find the three entities the helper needs: indoor temperature, indoor humidity and outdoor temperature. Note their entity IDs, for example sensor.bedroom_temperature, sensor.bedroom_humidity and sensor.outdoor_temperature.
Check each one has a sensible, recent value on its history graph. A sensor that drops to unavailable overnight will make the helper unavailable too, and a badly placed one skews everything. Keep the indoor sensor away from radiators and out of direct sun, and put it on the same side of the room as the cold surface if you can. A shelf at roughly head height on an inside wall gives the most representative reading.
Step 2: Work out your calibration factor
The calibration factor tells the helper how close your coldest surface gets to the outdoor temperature. The Home Assistant docs give this formula: calibration_factor = (temp_indoor - temp_outdoor) / (temp_criticalpoint - temp_outdoor), where the critical point is the coldest spot in the room, typically near the window frames.
Do the measurement on a cold day, because the docs recommend a significant indoor to outdoor temperature difference for the best result. At the same moment, write down three numbers: the indoor sensor, the outdoor sensor and the surface temperature at the cold spot measured with your thermometer.
As an illustration only (these are not figures from the docs): if the room is 20°C, outside is 0°C and the window frame measures 10°C, the factor is (20 - 0) / (10 - 0) = 2.0. A colder surface, say 8°C, gives (20 - 0) / (8 - 0) = 2.5. The colder the spot compared with the room, the higher the number.
A rougher number is fine to begin with. You can always edit the factor later, and the helper's output will still move in the right direction as the weather changes. Re-measure if you add secondary glazing or insulation, because the cold spot will warm up and the factor drops.
Step 3: Create the Mold Indicator helper
Go to Settings > Devices & services > Helpers > Create helper > Mold Indicator. The form asks for a name, the indoor temperature sensor, the indoor humidity sensor, the outdoor temperature sensor and the calibration factor you just calculated.
Name it after the room and surface, for example Bedroom window mould risk, so alerts make sense when they arrive on your phone. Submit, and a new sensor appears. Its value is a relative humidity percentage near the cold surface, calculated from the dew point, so it behaves like a humidity reading rather than a pass/fail flag.
If you prefer YAML, the same integration is still documented as a sensor platform in configuration.yaml:
sensor:
- platform: mold_indicator
name: Bedroom window mould risk
indoor_temp_sensor: sensor.bedroom_temperature
indoor_humidity_sensor: sensor.bedroom_humidity
outdoor_temp_sensor: sensor.outdoor_temperature
calibration_factor: 2.0
unique_id: bedroom_window_mould_risk
Restart Home Assistant after editing YAML. For most readers the helper in the UI is the easier route, and it can be changed later without touching files.
Step 4: Watch it for a few days before you automate
Add the new sensor to a history graph card next to the indoor humidity sensor and leave it for a few days that include a shower, cooking and an overnight period. You are looking for how the figure behaves in your home, not for a single magic number.
Expect it to read noticeably higher than the room humidity, because the surface is colder than the air. If it sits permanently above 70% even on mild, dry days, your calibration factor is probably too high or a sensor is in a damp spot. If it never moves above 50% even when the window streams with condensation, the factor is too low. Nudge it and compare against what you can see on the glass. This tuning step is the difference between an alert you trust and one you mute.
Step 5: Create the mould-risk notification
Create an automation with a numeric state trigger on the helper and a delay, so a steamy shower does not notify you but an overnight problem does. Home Assistant's numeric state trigger supports an above value and a for duration, which is exactly what you need:
alias: Bedroom mould risk alert
triggers:
- trigger: numeric_state
entity_id: sensor.bedroom_window_mould_risk
above: 70
for: "02:00:00"
conditions: []
actions:
- action: notify.mobile_app_your_phone
data:
title: "Mould risk in the bedroom"
message: >
The cold surface has been above 70% humidity for two hours.
Open a window or run the extractor, and check heating.
mode: single
Swap notify.mobile_app_your_phone for your own notify action. The 70% threshold comes from the figure in the Home Assistant docs; the two-hour delay is a sensible starting point of mine rather than an official figure, so lengthen it if you get nuisance alerts after showers or shorten it for a bedroom you are worried about.
If the room also has a smart dehumidifier or a fan on a smart plug, you can add a second action that switches it on. Our smart dehumidifier guide lists models that Home Assistant can control, and a repeat alert once a day while the sensor stays above the threshold stops the warning being forgotten.
Step 6: Add a daily summary or an all-clear
An alert that only ever says bad news is easy to ignore. Add a second automation that fires when the helper drops back below about 65% for 30 minutes and sends a short all-clear, or a morning notification that tells you the overnight peak. The all-clear confirms that whatever you did, whether opening a window, running a fan or turning the heating up a degree, actually worked.
The heating side matters too. Warmer walls reduce condensation, which is why a steady low background temperature usually beats short, intense bursts. Our guide on turning the heating off when a window is open pairs well with this one, because airing a damp room is worth the heat when the helper says the air is saturated.
Why is the Mold Indicator sensor unavailable or stuck?
The sensor shows unavailable: one of the three source sensors is unavailable or has no numeric state. Fix the source first, for example by replacing a flat battery or moving a Zigbee sensor closer to a router or mains-powered repeater, and the helper recovers by itself.
The value is always very high: the calibration factor is probably too large, or the indoor humidity sensor sits next to a kettle, bathroom door or drying rack. Recalculate the factor using a fresh cold-day measurement and move the sensor.
The value never changes much: check that the outdoor entity is a real temperature in the same unit as the indoor one and is updating. A weather entity that has stopped refreshing will freeze the result.
It disagrees with a visible damp patch: the helper models a single surface in a single room. A patch in a different corner, behind furniture, or caused by a leak, rising damp or a failed seal is a building problem, not a humidity-sensor one. A moisture meter and a professional survey are the right next step, and tenants should report it to their landlord in writing. The government guidance also warns that blaming damp and mould on lifestyle choices is unreasonable.
What to do next
Repeat the helper for each problem room, giving each its own calibration factor, since a north-facing bedroom behaves very differently from a south-facing living room. Pair the alerts with a wider monitor, such as the sensors covered in our indoor air quality monitor guide, and keep an eye on winter cold snaps with the frost alert automation. Used together they give you early warning on both sides of a UK winter: too cold and too damp.







