matrix-clock/src/handler/dht22_climate.py

23 lines
611 B
Python
Raw Normal View History

2023-10-17 00:10:23 +02:00
import Adafruit_DHT
class Dht22Climate:
def __init__(self, pin: int):
2023-10-17 00:19:51 +02:00
self.sensor = Adafruit_DHT.AM2302
2023-10-17 00:10:23 +02:00
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
2023-10-17 00:10:23 +02:00
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}
2023-10-17 17:57:32 +02:00
return self.last_read
2023-10-17 00:10:23 +02:00
else:
2023-10-17 17:57:32 +02:00
return None