Acho que esta é talvez a melhor maneira de fazer isso. Você pode querer fazer um processamento mais específico no cartão, como o grep que você sugeriu com "Link detected: yes". Certifique-se de que você escape de caracteres especiais, como os dois pontos, para garantir que ele seja encontrado corretamente. Também você pode grep em seu segmento de endereço IP, como "192.168.25". para um endereço IP interno de classe C. Isso seria baseado em sua rede interna, seja ela qual for. Mas acho que essa é definitivamente a melhor maneira de fazer isso.
Também pode haver algumas maneiras de detectar uma alteração e disparar algum evento.