One device is frequently roamed though it remains in the same location

My laptop (MAC = XX:XX:XX:XX:XX:83) is frequently roamed even it stays on the same place. I did not saw it in the past.
I have one HAP AC3 as CAPSMAN and one CAP AC . The roaming goes to interface wifi1(SSID) from HAP AC3 or to CAP AC 2.4GHz interfaces @CAP - CAP1, xxxxxxxxxxd4(SSID) or 5GHz CAP - CAP1, xxxxxxxxxxd5(SSID).

Could it be related to the steering which I'm using?

Here is the log:

# 2026-02-23 11:03:38 by RouterOS 7.21.3
 2026-02-23 10:26:34 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID), signal strength -89
 2026-02-23 10:27:19 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID) roamed to XX:XX:XX:XX:XX:83@wifi1(SSID), signal strength -83
 2026-02-23 10:27:57 wireless,info XX:XX:XX:XX:XX:83@wifi1(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID), signal strength -74
 2026-02-23 10:30:58 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID), signal strength -81
 2026-02-23 10:31:40 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID), signal strength -76
 2026-02-23 10:32:25 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID), signal strength -81
 2026-02-23 10:33:40 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID) roamed to XX:XX:XX:XX:XX:83@wifi1(SSID), signal strength -85
 2026-02-23 10:34:23 wireless,info XX:XX:XX:XX:XX:83@wifi1(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID), signal strength -93
 2026-02-23 10:34:33 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID), signal strength -75
 2026-02-23 10:39:35 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID), signal strength -87
 2026-02-23 10:44:30 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID), signal strength -74
 2026-02-23 11:02:07 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID), signal strength -92
 2026-02-23 11:02:41 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID), signal strength -75
 2026-02-23 11:03:19 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID), signal strength -88

Here is my configuration:

# 2026-02-23 11:24:36 by RouterOS 7.21.3
#
# model = RBD53iG-5HacD2HnD
/interface bridge
add admin-mac=XX:XX:XX:XX:XX:XX auto-mac=no comment=defconf name=bridge \
    port-cost-mode=short
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface lte apn
set [ find default=yes ] use-network-apn=no
/interface wifi datapath
add bridge=bridge comment=defconf disabled=no name=capdp
/interface wifi security
add authentication-types=wpa2-psk,wpa3-psk connect-priority=0/1 disabled=no \
    ft=yes ft-over-ds=yes name=security1_AC
/interface wifi steering
add 2g-probe-delay=yes disabled=no name=steering_cfg neighbor-group=\
    NG_streering rrm=yes wnm=yes
/interface wifi configuration
add disabled=no name=cfg_AC security=security1_AC ssid=SSID steering=\
    steering_cfg steering.2g-probe-delay=yes
/interface wifi
set [ find default-name=wifi1 ] configuration=cfg_AC configuration.mode=ap \
    disabled=no
set [ find default-name=wifi2 ] configuration=cfg_AC configuration.mode=ap \
    disabled=no
/ip pool
add name=dhcp ranges=XXX.XXX.XXX.XXX-XXX.XXX.XXX.XXX
/ip dhcp-server
add address-pool=dhcp interface=bridge lease-time=1h10m name=defconf
/routing bgp template
set default disabled=no output.network=bgp-networks
/routing ospf instance
add disabled=no name=default-v2
/routing ospf area
add disabled=yes instance=default-v2 name=backbone-v2
/ip smb
set enabled=no
/interface bridge port
add bridge=bridge comment=defconf ingress-filtering=no interface=ether2 \
    internal-path-cost=10 path-cost=10
add bridge=bridge comment=defconf ingress-filtering=no interface=ether3 \
    internal-path-cost=10 path-cost=10
add bridge=bridge comment=defconf ingress-filtering=no interface=ether4 \
    internal-path-cost=10 path-cost=10
add bridge=bridge comment=defconf ingress-filtering=no interface=ether5 \
    internal-path-cost=10 path-cost=10
add bridge=bridge comment=defconf ingress-filtering=no interface=wifi1
add bridge=bridge comment=defconf ingress-filtering=no interface=wifi2
/ip neighbor discovery-settings
set discover-interface-list=LAN
/ipv6 settings
set max-neighbor-entries=8192
/interface detect-internet
set detect-interface-list=all
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
/interface wifi capsman
set enabled=yes package-path="" require-peer-certificate=no upgrade-policy=\
    suggest-same-version
/interface wifi provisioning
add action=create-dynamic-enabled disabled=no master-configuration=cfg_AC \
    name-format="CAP - %I, %r"
/ip address
add address=XXX.XXX.XXX.XXX/24 comment=defconf interface=ether2 network=XXX.XXX.XXX.XXX
add address=XXX.XXX.XXX.XXX/16 interface=ether1 network=XXX.XXX.XXX.XXX
/ip dhcp-client
add comment=defconf disabled=yes interface=ether1
/ip dhcp-server network
add address=XX.XX.XX.XX/24 comment=defconf gateway=XX.XX.XX.XX netmask=24
/ip dns
set allow-remote-requests=yes servers=XXX.XXX.XXX.XXX,XXX.XXX.XXX.XXX
/ip dns static
add address=XX.XX.XX.XX comment=defconf name=router.lan type=A
/ip firewall filter
add action=jump chain=forward comment="jump to kid-control rules" \
    jump-target=kid-control
add action=accept chain=input comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
    invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment=\
    "defconf: accept to local loopback (for CAPsMAN)" dst-address=XX.XX.XX.XX
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
    in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
    ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
    ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
    connection-state=established,related
add action=accept chain=forward comment=\
    "defconf: accept established,related, untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=drop chain=forward comment=\
    "defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
    connection-state=new in-interface-list=WAN
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" \
    ipsec-policy=out,none out-interface-list=WAN
/ip ipsec profile
set [ find default=yes ] dpd-interval=2m dpd-maximum-failures=5
/ip route
add disabled=no dst-address=XX.XX.XX.XX/0 gateway=XXX.XXX.XXX.XXX
/ip ssh
set strong-crypto=yes
/ipv6 nd
set [ find default=yes ] advertise-dns=yes
/routing bfd configuration
add disabled=no
/system clock
set time-zone-name=Europe/Prague
/system logging
add topics=caps
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN

The device is roaming, not roamed. It is a device's decision to choose a better radio.
One thing I notice from the log is that signal strength is a bit low. That could cause the roaming...does this also happen when you are closer to one of the radios?

Is the CAP in default CAPS Mode?

One common mistake in the config, IP address should be assigned to the bridge and not (one of) the interface.

Thanks for reply.
I removed some obstacles which were closed the the laptop and it is not roaming anymore. I hope this will solve the issue.
And yeah, the CAP is in default CAPS Mode.

Can you please be more specific in the common mistake in IP config?
You mean to change from ethernet2 to to bridge like that?

add address=XXX.XXX.XXX.XXX/24 comment=defconf interface=bridge network=XXX.XXX.XXX.XXX

I'm not such expert on it, so I'd rather clarify it before I change it.
Btw. what are the consequences if the current configuration also works?