I want to unpair devices so that they wont show up when zigbeemqtt start any more. i deleted them in the devices.yaml file but it seemed the information stored in the router or coodinator?
You should not have done that. You needed to send a remove message over mqtt, so the device could remove itself from zigbee2mqtt.
Allows you to remove devices from the network. Payload should be the
friendly_name , e.g.
0x00158d0001b79111 . On successful remove a
device_removed message is sent.
Note that in Zigbee the coordinator can only request a device to remove itself from the network. Which means that in case a device refuses to respond to this request it is not removed from the network. This can happen for e.g. battery powered devices which are sleeping and thus not receiving this request. In this case you will see the following in the zigbee2mqtt log:
zigbee2mqtt:info 2019-11-03T13:39:30: Removing 'dimmer' zigbee2mqtt:error 2019-11-03T13:39:40: Failed to remove dimmer (Error: AREQ - ZDO - mgmtLeaveRsp after 10000ms)
An alternative way to remove the device is by factory resetting it, this probably won’t work for all devices as it depends on the device itself. In case the device did remove itself from the network, you will see:
zigbee2mqtt:warn 2019-11-03T13:36:18: Device '0x00158d00024a5e57' left the network
In case all of the above fails, you can force remove a device. Note that a force remove will only remove the device from the database. Until this device is factory reset, it will still hold the network encryption key and thus is still able to communicate over the network!
To force remove a device use the following topic: