'Returns sensor\'s measurement for a specific `variant`. Sensors can have multiple variants; for example, disk usage sensor accepts device name as a variant.
:param variant: variant to measure
:type  variant: str, None
:rtype: int, float, tuple, list, dict, str'

def value(self, variant=None):

    t = time.time()
    if ((not (variant in self.cache)) or ((t - self.last_measurement[variant]) > self.timeout)):
        self.cache[variant] = self.measure(variant)
        self.last_measurement[variant] = t
    return self.cache[variant]
