add date_time_iso to time_date sensor (#22199)

* add date_time_iso to time_date sensor

* hound fixes

* lint fixes
This commit is contained in:
uchagani 2019-03-21 03:55:30 -04:00 committed by Fabian Affolter
parent 88be786e82
commit 21871b3d6b
2 changed files with 10 additions and 0 deletions

View file

@ -25,6 +25,7 @@ OPTION_TYPES = {
'time': 'Time',
'date': 'Date',
'date_time': 'Date & Time',
'date_time_iso': 'Date & Time ISO',
'time_date': 'Time & Date',
'beat': 'Internet Time',
'time_utc': 'Time (UTC)',
@ -123,6 +124,9 @@ class TimeDateSensor(Entity):
self._state = time_utc
elif self.type == 'beat':
self._state = '@{0:03d}'.format(beat)
elif self.type == 'date_time_iso':
self._state = dt_util.parse_datetime(
'{} {}'.format(date, time)).isoformat()
@callback
def point_in_time_listener(self, time_date):

View file

@ -71,6 +71,10 @@ class TestTimeDateSensor(unittest.TestCase):
device._update_internal_state(now)
assert device.state == "@079"
device = time_date.TimeDateSensor(self.hass, 'date_time_iso')
device._update_internal_state(now)
assert device.state == "2017-05-18T00:54:00"
# pylint: disable=no-member
def test_timezone_intervals(self):
"""Test date sensor behavior in a timezone besides UTC."""
@ -114,3 +118,5 @@ class TestTimeDateSensor(unittest.TestCase):
assert device.icon == "mdi:calendar"
device = time_date.TimeDateSensor(self.hass, 'date_time')
assert device.icon == "mdi:calendar-clock"
device = time_date.TimeDateSensor(self.hass, 'date_time_iso')
assert device.icon == "mdi:calendar-clock"