matrix-clock/src/handler/dht22_climate.py

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