Hi,
Recently I tried to implement any kind of device tracker to my HA configuration, but as many people I believe that it is too unreliable due to refresh issues (devices stay as connected even if they’re not). I tried to use nmap and still no luck. Maybe there is someone who knows Python and could look through Tomato HA component. It uses wldev and dhcpd_lease to get information about connected wireless devices. Maybe there is a simple way to use only two parametres from wldev: mac (to identify device) and quality (to check if it is connected). I have checked that quality updates instantly after device is connected or disconnected because it shows connection quality. On the other hand dhcpd_lease and some other wldev parametres always gives us some information even if device is disconnected so it could be possible reason why this tracker doesn’t update after device is disconnected. I don’t know Python at all so I can’t do it myself, but maybe it would be easy for someone. Necessary links are below:
Tomato API documentation
Tomato device tracker code
EDIT: Ok, now I see that it only gives json with wldev and dhcpd_lease to HA. So I suppose the problem would be deeper in homeassistant.components.device_tracker. I believe that it handles this json or am I wrong?