I have one BICEPS client and one device running. Disconnecting network cable from the device does not cause the BICEPSClientAliveWatchDog to invoke MDPWSClient.deviceBye().
When reconnecting the device the WatchDog logs "Watchdog needs to bark!" and a bye message is sent.
When debugging WatchDog it looks like it's running in an endless loop (while the device is disconnected from network) waiting for a callback:
while (responseCallback.comState==ResponseCallback.PENDLING)
And the while condition is reached when the device is reconnected.
How long did you wait for the event? There is a timeout until the disconnection is detected.
at least one minute, maybe two