790 for (dev_w1 = w1_devices; dev_w1; dev_w1 = dev_w1->next) { |
790 for (dev_w1 = w1_devices; dev_w1; dev_w1 = dev_w1->next) { |
791 if (strcmp(device->address, dev_w1->address) == 0) { |
791 if (strcmp(device->address, dev_w1->address) == 0) { |
792 // syslog(LOG_NOTICE, "sensor %s value %d", dev_w1->address, dev_w1->value); |
792 // syslog(LOG_NOTICE, "sensor %s value %d", dev_w1->address, dev_w1->value); |
793 found = TRUE; |
793 found = TRUE; |
794 if ((dev_w1->value == -1) || (dev_w1->value < -55000)) { |
794 if ((dev_w1->value == -1) || (dev_w1->value < -55000)) { |
795 syslog(LOG_NOTICE, "sensor %s value error %d", device->address, dev_w1->value); |
795 if (device->present != DEVPRESENT_ERROR) |
|
796 syslog(LOG_NOTICE, "sensor %s value error %d, keep %d", device->address, dev_w1->value, device->value); |
796 device->present = DEVPRESENT_ERROR; |
797 device->present = DEVPRESENT_ERROR; |
797 } else { |
798 } else { |
|
799 if (device->present != DEVPRESENT_YES) |
|
800 syslog(LOG_NOTICE, "sensor %s value ok %d", device->address, dev_w1->value); |
798 device->value = dev_w1->value; |
801 device->value = dev_w1->value; |
799 device->timestamp = time(NULL); |
802 device->timestamp = time(NULL); |
800 device->present = DEVPRESENT_YES; |
803 device->present = DEVPRESENT_YES; |
801 } |
804 } |
802 } |
805 } |