Так и есть, только lastaddres меняется при опросе каждого из устройств, просто когда идет ожидание времени polling time lastadders принимает значение адреса последнего устройства, которому был направлен запрос. Чтобы не делать разные периоды опросов для разных устройств при подсчете кол-ва ошибок, сделайте проверку наличия ошибки по каждому устройству только по условию, если lastadrres в текущем цикле поменял свое значение по сравнению с предыдущим циклом.