Reflected modbus register change in sensor.py

This commit is contained in:
Jan Mrna 2022-06-18 11:06:41 +02:00
parent f7f38a3434
commit 46e7b83122

View File

@ -12,36 +12,37 @@ class Sensor:
# Sensor specific config
baudrates = [4800, 9600, 14400, 19200, 28800, 38400, 57600, 76800, 115200]
input_registers = {
'T': 30010, # from SHT4x
'T_F': 30011,
'RH': 30012, # from SHT4x
'CO2': 30013, # from SCD4x
'VOC_index': 30014,
'VOC_ticks': 30015,
'NOx_index': 30016,
'NOx_ticks': 30017,
'PM_mass_concentration_1.0': 30018,
'PM_mass_concentration_2.5': 30019,
'PM_mass_concentration_4.0': 30020,
'PM_mass_concentration_10.0': 30021,
'PM_number_concentration_0.5': 30022,
'PM_number_concentration_1.0': 30023,
'PM_number_concentration_2.5': 30024,
'PM_number_concentration_4.0': 30025,
'PM_number_concentration_10.0': 30026,
'PM_typical_particle_size': 30027,
'T_SCD4x': 30028,
'T_SCF4x_F': 30029,
'RH_SCD4x': 30030}
'SERIAL_NUMBER_1': 30001,
'SERIAL_NUMBER_2': 30002,
'T': 30003, # deg C
'T_F': 30004, # deg F
'RH': 30005, # %, from SHT4x
'CO2': 30006, # ppm
'VOC_INDEX': 30007, # VOC index as calculated by Sensirion library (1 to 500, average 100)
'VOC_TICKS': 30008, # raw VOC ticks
'PMC_MASS_1_0': 30009, # ug / m^3
'PMC_MASS_2_5': 30010, # ug / m^3
'PMC_MASS_4_0': 30011, # ug / m^3
'PMC_MASS_10_0': 30012, # ug / m^3
'PMC_NUMBER_0_5': 30013, # 1 / m^3
'PMC_NUMBER_1_0': 30014, # 1 / m^3
'PMC_NUMBER_2_5': 30015, # 1 / m^3
'PMC_NUMBER_4_0': 30016, # 1 / m^3
'PMC_NUMBER_10_0': 30017, # 1 / m^3
'TYPICAL_PARTICLE_SIZE': 30018, # nm
'T_SCD4x': 30019, # deg C
'T_SCD4x_F': 30020, # deg F
'RH_SCD4x': 30021} # %
holding_registers = {
'LED_on': 40001,
'LED_brightness': 40002,
'LED_smooth': 40003,
'CO2_alert_limit_1': 40004,
'CO2_alert_limit_2': 40005,
'SCD4x_temperature_offset': 40006,
'MODBUS_address': 40007,
'baudrate': 40008}
'MODBUS_ADDR': 40001,
'BAUDRATE': 40002,
'LED_ON': 40003,
'LED_BRIGHTNESS': 40004,
'LED_SMOOTH': 40005,
'CO2_ALERT_LIMIT1': 40006,
'CO2_ALERT_LIMIT2': 40007,
'SCD4x_T_OFFSET': 40008,
'RESET_DEVICE': 49999}
reset_register = 40100
reset_magic_number = 0xABCD
# readout and error counters
@ -92,24 +93,20 @@ class Sensor:
@property
def T_SHT4x(self):
return self.read_register(self.input_registers['T_SHT4x']) / 10
return self.read_register(self.input_registers['T']) / 10
@property
def T_SHT4x_signed(self):
return self.read_register(self.input_registers['T_SHT4x_signed'], signed=True) / 10
return self.read_register(self.input_registers['T'], signed=True) / 10
@property
def RH_SHT4x(self):
return self.read_register(self.input_registers['RH_SHT4x'])
return self.read_register(self.input_registers['RH'])
@property
def T_SCD4x(self):
return self.read_register(self.input_registers['T_SCD4x']) / 10
@property
def T_SCD4x_signed(self):
return self.read_register(self.input_register['T_SCD4x_signed'], signed=True) / 10
@property
def RH_SCD4x(self):
return self.read_register(self.input_registers['RH_SCD4x'])