From 21871b3d6b10fd0a3365970c82dba69543d1f8b8 Mon Sep 17 00:00:00 2001 From: uchagani Date: Thu, 21 Mar 2019 03:55:30 -0400 Subject: [PATCH] add date_time_iso to time_date sensor (#22199) * add date_time_iso to time_date sensor * hound fixes * lint fixes --- homeassistant/components/time_date/sensor.py | 4 ++++ tests/components/time_date/test_sensor.py | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/homeassistant/components/time_date/sensor.py b/homeassistant/components/time_date/sensor.py index 1b346d409c4..7825867df64 100644 --- a/homeassistant/components/time_date/sensor.py +++ b/homeassistant/components/time_date/sensor.py @@ -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): diff --git a/tests/components/time_date/test_sensor.py b/tests/components/time_date/test_sensor.py index b2a22439c1f..84331abfba1 100644 --- a/tests/components/time_date/test_sensor.py +++ b/tests/components/time_date/test_sensor.py @@ -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"