Пример #1
0
    def __time_to_open_cb(self, register):

        if not register.data_type == "int":
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        self.__open_timer.expiration_time = register.value
Пример #2
0
    def __exit_reader_cb(self, register):

        # Check data type.
        if not register.data_type == "json":
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        # Create
        if register.value != {} and self.__exit_reader is None:

            self.__exit_reader = CardReaderFactory.create(
                controller=self._controller,
                name="Exit Reader",
                vendor=register.value['vendor'],
                model=register.value['model'],
                options=register.value['options'])

            if self.__exit_reader is not None:
                if self.__exit_reader.reader_state == CardReaderState.NONE:
                    self.__exit_reader.cb_read_card(self.__cb_read_card)
                    self.__exit_reader.init()

        # Delete
        elif register.value == {} and self.__exit_reader is not None:
            self.__delete_reader(self.__exit_reader)
Пример #3
0
Файл: zone.py Проект: bgerp/ztm
    def __air_temp_upper_settings_cb(self, register):

        # Check data type.
        if not register.data_type == "json":
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if register.value != {} and self.__air_temp_upper_dev is None:

            self.__air_temp_upper_dev = ThermometersFactory.create(
                controller=self._controller,
                name="Air temperature upper",
                vendor=register.value['vendor'],
                model=register.value['model'],
                options=register.value['options'])

            if self.__air_temp_upper_dev is not None:
                self.__air_temp_upper_dev.init()
                self.__temp_proc.add(self.__air_temp_upper_dev)

        elif register.value == {} and self.__air_temp_upper_dev is not None:

            self.__temp_proc.remove(self.__air_temp_upper_dev)
            self.__air_temp_upper_dev.shutdown()
            del self.__air_temp_upper_dev
Пример #4
0
    def __door_window_blind_value_cb(self, register):

        # Check data type.
        if not register.data_type == "bool":
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        self.__set_door_window_blind(register.value)
Пример #5
0
    def __door_window_blind_output_cb(self, register):

        # Check data type.
        if not register.data_type == "str":
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        self.__door_window_blind_output = register.value
Пример #6
0
    def __lock_mechanism_output_cb(self, register):

        # Check data type.
        if not register.data_type == "str":
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        self.__lock_mechanism_output = register.value
Пример #7
0
    def __exit_btn_input_cb(self, register):

        # Check data type.
        if not register.data_type == "str":
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        self.__exit_btn_input = register.value
Пример #8
0
    def __target_illum_cb(self, register):

        # Check data type.
        if not (register.data_type == "float" or register.data_type == "int"):
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if self.__target_illumination != register.value:
            self.__target_illumination = register.value
Пример #9
0
    def __error_gain_cb(self, register):

        # Check data type.
        if not (register.data_type == "float" or register.data_type == "int"):
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if self.__error_gain != register.value:
            self.__error_gain = register.value
Пример #10
0
    def __position_cb(self, register):

        # Check data type.
        if not ((register.data_type == "float") or
                (register.data_type == "int")):
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if self.__blind_mechanism is not None:
            self.__blind_mechanism.set_position(register.value)
Пример #11
0
    def __object_height_cb(self, register):

        # Check data type.
        if not ((register.data_type == "float") or
                (register.data_type == "int")):
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if self.__object_height != register.value:
            self.__object_height = register.value
Пример #12
0
    def __sunspot_limit_cb(self, register):

        # Check data type.
        if not ((register.data_type == "float") or
                (register.data_type == "int")):
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if self.__sun_spot_limit != register.value:
            self.__sun_spot_limit = register.value
Пример #13
0
    def __zone_occupation_cb(self, register):

        # Check data type.
        if not ((register.data_type == "float") or
                (register.data_type == "int") or
                (register.data_type == "bool")):
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if self.__zone_occupation != register.value:
            self.__zone_occupation = register.value
Пример #14
0
Файл: envm.py Проект: bgerp/ztm
    def __sunpos_enabled_cb(self, register):
        """Sun position calculation enable flag handler.

        Args:
            register (Register): The register.
        """

        # Check data type.
        if not register.data_type == "bool":
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if self.__sunpos_enabled_value != register.value:
            self.__sunpos_enabled_value = register.value
Пример #15
0
    def __pa_demand_time_cb(self, register):

        # Check data type.
        if not (register.data_type == "float" or register.data_type == "int"):
            GlobalErrorHandler.log_bad_register_data_type(
                self.__logger, register)
            return

        if register.value < 0.0:
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if self.__demand_timer is not None:
            self.__demand_timer.expiration_time = register.value
Пример #16
0
Файл: ecd.py Проект: bgerp/ztm
    def __underfloor_east_bypass_pos_cb(self, register: Register):

        # Check data type.
        if not (register.data_type == "float" or register.data_type == "int"):
            GlobalErrorHandler.log_bad_register_data_type(
                self.__logger, register)
            return

        if register.value < 0 or register.value > 100:
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if self.__v_underfloor_east_bypass is not None:
            self.__v_underfloor_east_bypass.target_position = register.value
Пример #17
0
    def __lower_fan_max_cb(self, register: Register):

        # Check data type.
        if not (register.data_type == "float" or register.data_type == "int"):
            GlobalErrorHandler.log_bad_register_data_type(
                self.__logger, register)
            return

        if register.value > 100:
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if self.__lower_fan_dev is not None:
            self.__lower_fan_dev.max_speed = register.value
Пример #18
0
Файл: zone.py Проект: bgerp/ztm
    def __delta_time_cb(self, register):

        # Check data type.
        if not (register.data_type == "float" or register.data_type == "int"):
            GlobalErrorHandler.log_bad_register_data_type(self.__logger, register)
            return

        # Check value.
        if register.value < 0:
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if self.__delta_time != register.value:
            self.__delta_time = register.value
Пример #19
0
Файл: ecd.py Проект: bgerp/ztm
    def __generators_cooling_pos_cb(self, register: Register):

        # Check data type.
        if not (register.data_type == "float" or register.data_type == "int"):
            GlobalErrorHandler.log_bad_register_data_type(
                self.__logger, register)
            return

        if register.value < 0 or register.value > 100:
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if self.__v_generators_cooling is not None:
            self.__v_generators_cooling.target_position = register.value
Пример #20
0
Файл: ecd.py Проект: bgerp/ztm
    def __short_green_purple_pos_cb(self, register: Register):

        # Check data type.
        if not (register.data_type == "float" or register.data_type == "int"):
            GlobalErrorHandler.log_bad_register_data_type(
                self.__logger, register)
            return

        if register.value < 0 or register.value > 100:
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if self.__v_short_green_purple is not None:
            self.__v_short_green_purple.target_position = register.value
Пример #21
0
Файл: envm.py Проект: bgerp/ztm
    def __location_elv_cb(self, register):
        """Get elevation of the building.

        Args:
            register (Register): The register.
        """

        # Check data type.
        if not ((register.data_type == "float") or
                (register.data_type == "int")):
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if self.__location_elv != register.value:
            self.__location_elv = register.value
Пример #22
0
Файл: envm.py Проект: bgerp/ztm
    def __time_zone_cb(self, register):
        """Get time zone.

        Args:
            register (Register): The register.
        """

        # Check data type.
        if not ((register.data_type == "float") or
                (register.data_type == "int")):
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if self.__time_zone != register.value:
            self.__time_zone = register.value
Пример #23
0
Файл: envm.py Проект: bgerp/ztm
    def __temperature_cb(self, register):
        """Get environment temperature.

        Args:
            register (Register): The register.
        """

        # Check data type.
        if not ((register.data_type == "float") or
                (register.data_type == "int")):
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if self.__temperature != register.value:
            self.__temperature = register.value
Пример #24
0
Файл: zone.py Проект: bgerp/ztm
    def __thermal_force_limit_cb(self, register):

        # Check data type.
        if not (register.data_type == "float" or register.data_type == "int"):
            GlobalErrorHandler.log_bad_register_data_type(self.__logger, register)
            return

        # Check value.
        if register.value < 0:
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if register.value > 100:
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        self.__thermal_force_limit = register.value
Пример #25
0
    def __hp_index_cb(self, register):
        """Heat pump control group index callback.

        Args:
            register (Register): Register container.
        """

        # Check data type.
        if not register.data_type == "int":
            GlobalErrorHandler.log_bad_register_data_type(
                self.__logger, register)
            return

        if register.value < 0:
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        self.__heat_pump_index = register.value
Пример #26
0
Файл: stat.py Проект: bgerp/ztm
    def __light_sensor_settings_cb(self, register: Register):

        # Check data type.
        if not register.data_type == "json":
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if register.value != None and self.__light_sensor is None:

            dev_name = "{} {}".format("Test sensor", self.name)
            self.__light_sensor = LuxmeterFactory.create(
                name=dev_name,
                controller=self._controller,
                vendor=register.value['vendor'],
                model=register.value['model'],
                options=register.value['options'])

            if self.__light_sensor is not None:
                self.__light_sensor.init()
Пример #27
0
    def __target_version_cb(self, register: Register):

        current_version = None
        target_version = None

        target_version_reg = register

        # Check data type of the current version.
        if not target_version_reg.data_type == "json":
            GlobalErrorHandler.log_bad_register_data_type(self.__logger, target_version_reg)
            return

        # Get target version value.
        if target_version_reg.value is not None:
            target_version = target_version_reg.value

        # Check the target version value.
        if target_version == None:
            GlobalErrorHandler.log_bad_register_value(self.__logger, target_version)
            return

        # Get current version register.
        current_version_reg = self.__registers.by_name("sys.software.current_version")

        # Check data type.
        if not ((current_version_reg.data_type == "json")):
            GlobalErrorHandler.log_bad_register_data_type(self.__logger, current_version_reg)
            return

        if current_version_reg is not None:
            current_version = current_version_reg.value

        # Check the current version value.
        if current_version == None:
            GlobalErrorHandler.log_bad_register_value(self.__logger, current_version)
            return

        # Update the software.
        software_update(current_version_reg.value, target_version_reg.value)

        # Save the current version.
        self.__app_settings.current_version = target_version_reg.value
        self.__app_settings.save()
Пример #28
0
    def __sensor_settings_cb(self, register):

        # Check data type.
        if not register.data_type == "json":
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        if register.value != {} and self.__light_sensor is None:

            self.__light_sensor = LightSensorFactory.create(
                controller=self._controller,
                name="Room light sensor.",
                vendor=register.value['vendor'],
                model=register.value['model'],
                options=register.value['options'])

            if self.__light_sensor is not None:
                self.__light_sensor.init()

        elif register.value == {} and self.__light_sensor is not None:
            self.__light_sensor.shutdown()
            del self.__light_sensor
Пример #29
0
    def __get_sun_pos(self):

        sun_elev_reg = self._registers.by_name("envm.sun.elevation")
        if sun_elev_reg is not None:
            if not ((sun_elev_reg.data_type == "float") or
                    (sun_elev_reg.data_type == "int")):
                GlobalErrorHandler.log_bad_register_value(
                    self.__logger, sun_elev_reg)
                return

            if self.__sun_elev != sun_elev_reg.value:
                self.__sun_elev = sun_elev_reg.value

        sun_azm_reg = self._registers.by_name("envm.sun.azimuth")
        if sun_azm_reg is not None:
            if not ((sun_azm_reg.data_type == "float") or
                    (sun_azm_reg.data_type == "int")):
                GlobalErrorHandler.log_bad_register_value(
                    self.__logger, sun_azm_reg)
                return

            if self.__sun_azm != sun_azm_reg.value:
                self.__sun_azm = sun_azm_reg.value
Пример #30
0
    def __blind_cb(self, register):

        # Check data type.
        if not register.data_type == "json":
            GlobalErrorHandler.log_bad_register_value(self.__logger, register)
            return

        # Create
        if register.value != {} and self.__blind_mechanism is None:

            self.__blind_mechanism = BlindsFactory.create(
                controller=self._controller,
                name="Blind",
                vendor=register.value['vendor'],
                model=register.value['model'],
                options=register.value['options'])

            if self.__blind_mechanism is not None:
                self.__blind_mechanism.init()

        # Delete
        elif register.value == {} and self.__blind_mechanism is not None:
            del self.__blind_mechanism