diff options
Diffstat (limited to 'src/home/temphum/si7021.py')
-rw-r--r-- | src/home/temphum/si7021.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/home/temphum/si7021.py b/src/home/temphum/si7021.py new file mode 100644 index 0000000..6289e15 --- /dev/null +++ b/src/home/temphum/si7021.py @@ -0,0 +1,13 @@ +from .base import I2CTempHumSensor + + +class Si7021(I2CTempHumSensor): + i2c_addr = 0x40 + + def temperature(self) -> float: + raw = self.bus.read_i2c_block_data(self.i2c_addr, 0xE3, 2) + return 175.72 * (raw[0] << 8 | raw[1]) / 65536.0 - 46.85 + + def humidity(self) -> float: + raw = self.bus.read_i2c_block_data(self.i2c_addr, 0xE5, 2) + return 125.0 * (raw[0] << 8 | raw[1]) / 65536.0 - 6.0 |