Get a text that says what actually happened: "Basement leak sensor is wet and nobody is home", or "Freezer is at 14° and has been warming for 20 minutes". Your YoLink sensors report to Home Assistant, Home Assistant decides when it matters, and UserAlertX texts your own phone. About 15 minutes, once.
The YoLink app's own alerts work well for simple notices, and you should keep them. UserAlertX is for when you want more than that:
In Home Assistant: Settings → Devices & services → Add integration, choose YoLink, and sign in with your YoLink account when asked. Home Assistant links the account for you (free, no Home Assistant Cloud subscription needed). Your sensors then show up as devices and entities. Details: Home Assistant's YoLink page.
Note the entity names of the sensors you care about (for example binary_sensor.basement_leak), under Settings → Devices & services → Entities.
This is the same short setup as for any Home Assistant alert: your API key in secrets.yaml and a few lines in configuration.yaml. Follow steps 1–3 on the Home Assistant page, then come back here. You'll have an action called notify.useralertx.
No UserAlertX account yet? Start a free trial, then add your mobile number on the account screen.
Paste into automations.yaml (or build the same thing in the automation editor), changing each entity_id to your own sensor.
Leak sensor: text with the time
- alias: "YoLink leak - text me"
triggers:
- trigger: state
entity_id: binary_sensor.basement_leak
to: "on"
actions:
- action: notify.useralertx
data:
title: "Water leak"
message: "Basement leak sensor is wet ({{ now().strftime('%H:%M') }})"
Freezer temperature sensor: too warm for 20 minutes
- alias: "YoLink freezer - text me if it warms up"
triggers:
- trigger: numeric_state
entity_id: sensor.freezer_temperature
above: 10
for: "00:20:00"
actions:
- action: notify.useralertx
data:
message: "Freezer is at {{ states('sensor.freezer_temperature') }}° and has been warm for 20 minutes - check the door"
Door sensor: left open
- alias: "YoLink door - text me if it stays open"
triggers:
- trigger: state
entity_id: binary_sensor.back_door
to: "on"
for: "00:20:00"
actions:
- action: notify.useralertx
data:
message: "The back door has been open for 20 minutes"
Leak and nobody home: one text with both facts
- alias: "YoLink leak while away"
triggers:
- trigger: state
entity_id: binary_sensor.basement_leak
to: "on"
conditions:
- condition: state
entity_id: zone.home
state: "0"
actions:
- action: notify.useralertx
data:
title: "Leak while away"
message: "Basement leak sensor is wet and nobody is home"
The zone.home condition counts people at home (from the Home Assistant phone app). Leave it out if you don't use that.
for: so a sensor that flickers doesn't send a burst.