'Update the stats.'

def __update__(self):

    self.reset()
    data = self.fetch()
    if (data == ''):
        return
    if (len(data) < 14):
        data = (self.cache if (len(self.cache) > 0) else self.fetch())
    self.cache = data
    try:
        fields = data.split('|')
    except TypeError:
        fields = ''
    devices = ((len(fields) - 1) // 5)
    for item in range(devices):
        offset = (item * 5)
        hddtemp_current = {}
        device = os.path.basename(nativestr(fields[(offset + 1)]))
        temperature = fields[(offset + 3)]
        unit = nativestr(fields[(offset + 4)])
        hddtemp_current['label'] = device
        try:
            hddtemp_current['value'] = float(temperature)
        except ValueError:
            hddtemp_current['value'] = nativestr(temperature)
        hddtemp_current['unit'] = unit
        self.hddtemp_list.append(hddtemp_current)
