'Update current conditions.
This uses a rolling median over 3 values to filter out outliers.'

def update(self):

    try:
        _LOGGER.debug('Polling    data    for    %s', self.name)
        data = self.poller.parameter_value(self.parameter)
    except IOError as ioerr:
        _LOGGER.info('Polling    error    %s', ioerr)
        data = None
        return
    if (data is not None):
        _LOGGER.debug('%s    =    %s', self.name, data)
        self.data.append(data)
    else:
        _LOGGER.info('Did    not    receive    any    data    from    Mi    Flora    sensor    %s', self.name)
        if self.data:
            self.data = self.data[1:]
        else:
            self._state = None
        return
    _LOGGER.debug('Data    collected:    %s', self.data)
    if (len(self.data) > self.median_count):
        self.data = self.data[1:]
    if (len(self.data) == self.median_count):
        median = sorted(self.data)[int(((self.median_count - 1) / 2))]
        _LOGGER.debug('Median    is:    %s', median)
        self._state = median
    else:
        _LOGGER.debug('Not    yet    enough    data    for    median    calculation')
