With the help of CrownSeven's fork of het Navimow integration I was able to create an automation to have the mower pause in front of an closed and locked gate as it finishes mowing the first zone. After manual opening of the gate I press the resume buttons on the mower and it continues mowing the other zone where also the docking station is located.
alias: Start Navimow mowing job
description: >-
Starts mowing on button press; pauses once at gate zone; ends automation once
mowing resumes after pause
triggers:
# Watches mowing zone and GPS coordinates to detect when mower approaches gate
- trigger: state
entity_id:
- sensor.navimow_i206_awd_mowing_zone
- sensor.navimow_i206_awd_position_x
- sensor.navimow_i206_awd_position_y
id: zone_check
# Detects when mower transitions to mowing state — used to end run after gate pause
- trigger: state
entity_id: lawn_mower.navimow_i206_awd
to: mowing
id: mowing
# Physical MQTT button (single press) to manually start a mowing session
- trigger: device
domain: mqtt
device_id: c3ca9c67be73f5e422f65a127a839d8f
type: action
subtype: single
id: start
actions:
- choose:
# Guard: notify if button pressed while mower is already running
- conditions:
- condition: trigger
id: start
- condition: state
entity_id: lawn_mower.navimow_i206_awd
state: mowing
sequence:
- action: notify.whatsapp_me
data:
title: Navimow
message: Maaier maait al
# Main start sequence: reset pause flag, reload integration to sync state,
# wait for integration to come back up, then issue start command
- conditions:
- condition: trigger
id: start
sequence:
- action: input_boolean.turn_off
target:
entity_id: input_boolean.grasmaaier_paused
# Reload forces a fresh connection — workaround for stale integration state
- action: homeassistant.reload_config_entry
target:
entity_id: lawn_mower.navimow_i206_awd
# Allow integration time to reconnect before issuing the start command
- delay:
seconds: 10
- action: lawn_mower.start_mowing
target:
entity_id: lawn_mower.navimow_i206_awd
# Gate resume detection: mower returned to mowing after a gate pause.
# Stop ends this automation run only — automation stays enabled for next session.
- conditions:
- condition: trigger
id: mowing
- condition: state
entity_id: input_boolean.grasmaaier_paused
state: "on"
sequence:
- stop: Mower resumed after gate pause — ending automation run
# Gate pause: triggers when mower is in zone >1 and within the gate coordinate
# window (x: 2–3, y: 19–20). Pauses mower, sets flag to prevent re-triggering,
# and notifies to open the gate. mode: single ensures this fires only once.
- conditions:
- condition: trigger
id: zone_check
# Flag prevents this block from firing again during the same session
- condition: state
entity_id: input_boolean.grasmaaier_paused
state: "off"
- condition: state
entity_id: lawn_mower.navimow_i206_awd
state: mowing
# Only pause when transitioning out of zone 1 (i.e. heading to back garden)
- condition: numeric_state
entity_id: sensor.navimow_i206_awd_mowing_zone
above: 1
# Narrow GPS window marking the gate crossing point — widen if missed
- condition: numeric_state
entity_id: sensor.navimow_i206_awd_position_x
above: 2
below: 3
- condition: numeric_state
entity_id: sensor.navimow_i206_awd_position_y
above: 19
below: 20
sequence:
- action: lawn_mower.pause
target:
entity_id: lawn_mower.navimow_i206_awd
- action: input_boolean.turn_on
target:
entity_id: input_boolean.grasmaaier_paused
- action: notify.whatsapp_me
data:
title: Navimow
message: De grasmaaier staat voor de tuinpoort
# Single mode prevents gate-pause logic from re-triggering while handling the gate
mode: single







