diff --git a/module.py b/module.py --- a/module.py +++ b/module.py @@ -29,8 +29,14 @@ class ModuleList(): network_interface.address_lookup[module_address] = new_module.uuid network_interface.uuid_lookup[new_module.uuid] = module_address - new_module.config("data_rate", int(self.config.get(section, "data_rate"))) - new_module.config("led_brightness", int(self.config.get(section, "led_brightness"))) + new_module.config("data_rate", 0, int(self.config.get(section, "data_rate"))) + new_module.config("led_brightness", 0, int(self.config.get(section, "led_brightness"))) + + for sensor in protocol.lookup_sensors_by_device_name(module_type): + for item in self.config.items(section): + if item[0] == sensor.get('name'): + new_module.config(sensor.get('type'), int(sensor.get('sensor_num')), protocol.lookup_data_key_by_name(self.config.get(section, sensor.get('name')))) + def add_module(self, module): assert isinstance(module, Module), 'invalid module' @@ -63,14 +69,6 @@ class ModuleList(): device_class = eval(protocol.lookup_device_class_by_id(device_id)) module = device_class(address, interface, name, self.database) - - #if device_type == "airsense": - #module = AirSenseModule(address, interface, name, self.database) - #elif device_type == "relaydrive": - #module = RelayDriveModule(address, interface, name, self.database) - #else: - #module = UnknownModule(address, interface, name, self.database) - self.add_module(module) return module @@ -135,8 +133,8 @@ class AirSenseModule(Module): def update(self): pass - def config(self, data_key, value): - message = HydroBotMessage(self.uuid, (0x80 | protocol.lookup_command_key_by_name("config")), protocol.lookup_data_key_by_name(data_key), 0, value) + def config(self, data_key, sensor_num, value): + message = HydroBotMessage(self.uuid, (0x80 | protocol.lookup_command_key_by_name("config")), protocol.lookup_data_key_by_name(data_key), sensor_num, value) self.interface.send_message(message) class RelayDriveModule(Module): @@ -155,8 +153,8 @@ class RelayDriveModule(Module): def update(self): pass - def config(self, data_key, value): - message = HydroBotMessage(self.uuid, (0x80 | protocol.lookup_command_key_by_name("config")), protocol.lookup_data_key_by_name(data_key), 0, value) + def config(self, data_key, sensor_num, value): + message = HydroBotMessage(self.uuid, (0x80 | protocol.lookup_command_key_by_name("config")), protocol.lookup_data_key_by_name(data_key), sensor_num, value) self.interface.send_message(message) def set_output(self, output, value): @@ -177,7 +175,7 @@ class UnknownModule(Module): def update(self): pass - def config(self, data_key, value): - message = HydroBotMessage(self.uuid, (0x80 | protocol.lookup_command_key_by_name("config")), protocol.lookup_data_key_by_name(data_key), 0, value) + def config(self, data_key, sensor_num, value): + message = HydroBotMessage(self.uuid, (0x80 | protocol.lookup_command_key_by_name("config")), protocol.lookup_data_key_by_name(data_key), sensor_num, value) self.interface.send_message(message)