@asyncio.coroutine
def async_update(self):
    'Get the latest data and updates the states.'
    time_date = dt_util.utcnow()
    time = dt_util.as_local(time_date).strftime(TIME_STR_FORMAT)
    time_utc = time_date.strftime(TIME_STR_FORMAT)
    date = dt_util.as_local(time_date).date().isoformat()
    time_bmt = (time_date + timedelta(hours=1))
    delta = timedelta(hours=time_bmt.hour, minutes=time_bmt.minute, seconds=time_bmt.second, microseconds=time_bmt.microsecond)
    beat = int(((delta.seconds + (delta.microseconds / 1000000.0)) / 86.4))
    if (self.type == 'time'):
        self._state = time
    elif (self.type == 'date'):
        self._state = date
    elif (self.type == 'date_time'):
        self._state = '{}, {}'.format(date, time)
    elif (self.type == 'time_date'):
        self._state = '{}, {}'.format(time, date)
    elif (self.type == 'time_utc'):
        self._state = time_utc
    elif (self.type == 'beat'):
        self._state = '@{0:03d}'.format(beat)
Get the latest data and updates the states.
@asyncio.coroutine
def async_update(self):
    
    time_date = dt_util.utcnow()
    time = dt_util.as_local(time_date).strftime(TIME_STR_FORMAT)
    time_utc = time_date.strftime(TIME_STR_FORMAT)
    date = dt_util.as_local(time_date).date().isoformat()
    time_bmt = (time_date + timedelta(hours=1))
    delta = timedelta(hours=time_bmt.hour, minutes=time_bmt.minute, seconds=time_bmt.second, microseconds=time_bmt.microsecond)
    beat = int(((delta.seconds + (delta.microseconds / 1000000.0)) / 86.4))
    if (self.type == 'time'):
        self._state = time
    elif (self.type == 'date'):
        self._state = date
    elif (self.type == 'date_time'):
        self._state = '{}, {}'.format(date, time)
    elif (self.type == 'time_date'):
        self._state = '{}, {}'.format(time, date)
    elif (self.type == 'time_utc'):
        self._state = time_utc
    elif (self.type == 'beat'):
        self._state = '@{0:03d}'.format(beat)