22 lines
611 B
Python
22 lines
611 B
Python
import Adafruit_DHT
|
|
|
|
|
|
class Dht22Climate:
|
|
|
|
def __init__(self, pin: int):
|
|
self.sensor = Adafruit_DHT.AM2302
|
|
self.pin = pin
|
|
self.last_read = None
|
|
|
|
def get_last_read(self):
|
|
if self.last_read is None:
|
|
return self.read()
|
|
return self.last_read
|
|
|
|
def read(self):
|
|
humidity, temperature = Adafruit_DHT.read_retry(self.sensor, self.pin)
|
|
if humidity is not None and temperature is not None:
|
|
self.last_read = {"temperature": temperature, "humidity": humidity}
|
|
return self.last_read
|
|
else:
|
|
return None
|