472 } |
472 } |
473 free(addr); |
473 free(addr); |
474 addr = NULL; |
474 addr = NULL; |
475 } |
475 } |
476 break; |
476 break; |
|
477 |
|
478 #ifdef HAVE_WIRINGPI_H |
477 case DEVTYPE_DHT: |
479 case DEVTYPE_DHT: |
478 if (device->subdevice == 0) { |
480 if (device->subdevice == 0) { |
|
481 dht11_pin = device->gpiopin; |
|
482 dht11Read(); |
|
483 if (dht11_valid) { |
|
484 device->value = dht11_temperature * 1000; |
|
485 device->timestamp = time(NULL); |
|
486 device->present = DEVPRESENT_YES; |
|
487 } else { |
|
488 device->present = DEVPRESENT_ERROR; |
|
489 } |
479 } else if (device->subdevice == 1) { |
490 } else if (device->subdevice == 1) { |
480 |
491 if (dht11_valid) { |
|
492 device->value = dht11_humidity * 1000; |
|
493 device->timestamp = time(NULL); |
|
494 device->present = DEVPRESENT_YES; |
|
495 } else { |
|
496 device->present = DEVPRESENT_ERROR; |
|
497 } |
481 } |
498 } |
482 break; |
499 break; |
|
500 #endif |
|
501 |
483 default: |
502 default: |
484 break; |
503 break; |
485 } |
504 } |
486 } |
505 } |
487 usleep(10000); |
506 usleep(10000); |