forked from veles_labs/pyveles
Added definitions of the registers.
This commit is contained in:
parent
d2c6185c47
commit
9a48d6c681
@ -1,9 +1,47 @@
|
||||
from typing import Dict, Final
|
||||
from minimalmodbus import NoResponseError
|
||||
from .generic import ModbusRTUDevice
|
||||
|
||||
|
||||
class SensorWiredRHT(ModbusRTUDevice):
|
||||
class SensorWiredIAQ(ModbusRTUDevice):
|
||||
'''
|
||||
Wired sensor measuring temperature, relative humidity,
|
||||
carbon dioxide and VOC, optionally particulate matter
|
||||
Wired sensor measuring temperature, relative humidity
|
||||
and light intensity.
|
||||
'''
|
||||
IDENTIFIER: int = 0xbb01
|
||||
IDENTIFIER: int = 0xb00b
|
||||
input_registers: Dict[str, int] = {
|
||||
'SER_NUM_1': 30001,
|
||||
'SER_NUM_2': 30002,
|
||||
'T': 30003, # from SHT4x
|
||||
'T_F': 30004,
|
||||
'RH': 30005, # from SHT4x
|
||||
'LIGHT_INTENSITY_1': 30006,
|
||||
'LIGHT_INTENSITY_2': 30007,
|
||||
'ERROR_T_RH': 30008,
|
||||
'ERROR_LIGHT': 30009
|
||||
} | ModbusRTUDevice.input_registers
|
||||
# TODO use super, but __class__ not defined
|
||||
holding_registers: Dict[str, int] = {
|
||||
'MODBUS_address': 40001,
|
||||
'baudrate': 40002,
|
||||
'LTR329_GAIN': 40003,
|
||||
'LTR329_MEAS_RATE': 40004,
|
||||
'LTR329_INTEGRATION_TIME': 40005,
|
||||
'LTR329_MODE': 40006
|
||||
} | ModbusRTUDevice.holding_registers
|
||||
RESET_MAGIC_NUMBER: Final[int] = 0xABCD
|
||||
|
||||
@property
|
||||
def CO2(self):
|
||||
return int(self.read_register(self.input_registers['CO2']))
|
||||
|
||||
@property
|
||||
def T(self):
|
||||
# TODO maybe use signed version?
|
||||
return self.read_register(self.input_registers['T'],
|
||||
signed=True
|
||||
) / 10
|
||||
|
||||
@property
|
||||
def RH(self):
|
||||
return self.read_register(self.input_registers['RH'])
|
||||
|
Loading…
Reference in New Issue
Block a user