def __getattr__(self, method_name_int):
        """Realizes dynamic methods based on the methods supported by the API.

        The method names are nearly the same as provided by the CCU
        (see http://[CCU_ADDRESS]/api/homematic.cgi or API.print_methods()).
        The method names are slighly renamed. For example CCU.getSerial() is
        available as API.ccu_get_serial() in pmatic. The translation is made
        by the _to_internal_name() method. For details take a look at that
        function.
        """
        with self._api_lock:
            self._initialize()

        def lowlevel_call(*args, **kwargs):
            if args:
                raise PMException("You need to specify your arguments as named arguments. "
                                  "For example api.sys_var_get_value_by_name(name=\"...\").")
            return self._call(method_name_int, **kwargs)

        return lowlevel_call