mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 19:27:45 +00:00
This commit is contained in:
parent
b61a250321
commit
c9976718d4
@ -64,7 +64,8 @@ async def async_setup_platform(
|
|||||||
dev = []
|
dev = []
|
||||||
for sensor_type in config[CONF_SENSORS]:
|
for sensor_type in config[CONF_SENSORS]:
|
||||||
dev.append(JewishCalSensor(
|
dev.append(JewishCalSensor(
|
||||||
name, language, sensor_type, latitude, longitude, diaspora))
|
name, language, sensor_type, latitude, longitude,
|
||||||
|
hass.config.time_zone, diaspora))
|
||||||
async_add_entities(dev, True)
|
async_add_entities(dev, True)
|
||||||
|
|
||||||
|
|
||||||
@ -72,7 +73,8 @@ class JewishCalSensor(Entity):
|
|||||||
"""Representation of an Jewish calendar sensor."""
|
"""Representation of an Jewish calendar sensor."""
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self, name, language, sensor_type, latitude, longitude, diaspora):
|
self, name, language, sensor_type, latitude, longitude, timezone,
|
||||||
|
diaspora):
|
||||||
"""Initialize the Jewish calendar sensor."""
|
"""Initialize the Jewish calendar sensor."""
|
||||||
self.client_name = name
|
self.client_name = name
|
||||||
self._name = SENSOR_TYPES[sensor_type][0]
|
self._name = SENSOR_TYPES[sensor_type][0]
|
||||||
@ -81,6 +83,7 @@ class JewishCalSensor(Entity):
|
|||||||
self._state = None
|
self._state = None
|
||||||
self.latitude = latitude
|
self.latitude = latitude
|
||||||
self.longitude = longitude
|
self.longitude = longitude
|
||||||
|
self.timezone = timezone
|
||||||
self.diaspora = diaspora
|
self.diaspora = diaspora
|
||||||
_LOGGER.debug("Sensor %s initialized", self.type)
|
_LOGGER.debug("Sensor %s initialized", self.type)
|
||||||
|
|
||||||
@ -131,7 +134,7 @@ class JewishCalSensor(Entity):
|
|||||||
else:
|
else:
|
||||||
times = hdate.Zmanim(
|
times = hdate.Zmanim(
|
||||||
date=today, latitude=self.latitude, longitude=self.longitude,
|
date=today, latitude=self.latitude, longitude=self.longitude,
|
||||||
hebrew=self._hebrew).zmanim
|
timezone=self.timezone, hebrew=self._hebrew).zmanim
|
||||||
self._state = times[self.type].time()
|
self._state = times[self.type].time()
|
||||||
|
|
||||||
_LOGGER.debug("New value: %s", self._state)
|
_LOGGER.debug("New value: %s", self._state)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
"""The tests for the Jewish calendar sensor platform."""
|
"""The tests for the Jewish calendar sensor platform."""
|
||||||
import unittest
|
import unittest
|
||||||
|
from datetime import time
|
||||||
from datetime import datetime as dt
|
from datetime import datetime as dt
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
@ -64,7 +65,7 @@ class TestJewishCalenderSensor(unittest.TestCase):
|
|||||||
sensor = JewishCalSensor(
|
sensor = JewishCalSensor(
|
||||||
name='test', language='english', sensor_type='date',
|
name='test', language='english', sensor_type='date',
|
||||||
latitude=self.TEST_LATITUDE, longitude=self.TEST_LONGITUDE,
|
latitude=self.TEST_LATITUDE, longitude=self.TEST_LONGITUDE,
|
||||||
diaspora=False)
|
timezone="UTC", diaspora=False)
|
||||||
with patch('homeassistant.util.dt.now', return_value=test_time):
|
with patch('homeassistant.util.dt.now', return_value=test_time):
|
||||||
run_coroutine_threadsafe(
|
run_coroutine_threadsafe(
|
||||||
sensor.async_update(),
|
sensor.async_update(),
|
||||||
@ -77,7 +78,7 @@ class TestJewishCalenderSensor(unittest.TestCase):
|
|||||||
sensor = JewishCalSensor(
|
sensor = JewishCalSensor(
|
||||||
name='test', language='hebrew', sensor_type='date',
|
name='test', language='hebrew', sensor_type='date',
|
||||||
latitude=self.TEST_LATITUDE, longitude=self.TEST_LONGITUDE,
|
latitude=self.TEST_LATITUDE, longitude=self.TEST_LONGITUDE,
|
||||||
diaspora=False)
|
timezone="UTC", diaspora=False)
|
||||||
with patch('homeassistant.util.dt.now', return_value=test_time):
|
with patch('homeassistant.util.dt.now', return_value=test_time):
|
||||||
run_coroutine_threadsafe(
|
run_coroutine_threadsafe(
|
||||||
sensor.async_update(), self.hass.loop).result()
|
sensor.async_update(), self.hass.loop).result()
|
||||||
@ -89,7 +90,7 @@ class TestJewishCalenderSensor(unittest.TestCase):
|
|||||||
sensor = JewishCalSensor(
|
sensor = JewishCalSensor(
|
||||||
name='test', language='hebrew', sensor_type='holiday_name',
|
name='test', language='hebrew', sensor_type='holiday_name',
|
||||||
latitude=self.TEST_LATITUDE, longitude=self.TEST_LONGITUDE,
|
latitude=self.TEST_LATITUDE, longitude=self.TEST_LONGITUDE,
|
||||||
diaspora=False)
|
timezone="UTC", diaspora=False)
|
||||||
with patch('homeassistant.util.dt.now', return_value=test_time):
|
with patch('homeassistant.util.dt.now', return_value=test_time):
|
||||||
run_coroutine_threadsafe(
|
run_coroutine_threadsafe(
|
||||||
sensor.async_update(), self.hass.loop).result()
|
sensor.async_update(), self.hass.loop).result()
|
||||||
@ -101,7 +102,7 @@ class TestJewishCalenderSensor(unittest.TestCase):
|
|||||||
sensor = JewishCalSensor(
|
sensor = JewishCalSensor(
|
||||||
name='test', language='english', sensor_type='holiday_name',
|
name='test', language='english', sensor_type='holiday_name',
|
||||||
latitude=self.TEST_LATITUDE, longitude=self.TEST_LONGITUDE,
|
latitude=self.TEST_LATITUDE, longitude=self.TEST_LONGITUDE,
|
||||||
diaspora=False)
|
timezone="UTC", diaspora=False)
|
||||||
with patch('homeassistant.util.dt.now', return_value=test_time):
|
with patch('homeassistant.util.dt.now', return_value=test_time):
|
||||||
run_coroutine_threadsafe(
|
run_coroutine_threadsafe(
|
||||||
sensor.async_update(), self.hass.loop).result()
|
sensor.async_update(), self.hass.loop).result()
|
||||||
@ -113,7 +114,7 @@ class TestJewishCalenderSensor(unittest.TestCase):
|
|||||||
sensor = JewishCalSensor(
|
sensor = JewishCalSensor(
|
||||||
name='test', language='hebrew', sensor_type='holyness',
|
name='test', language='hebrew', sensor_type='holyness',
|
||||||
latitude=self.TEST_LATITUDE, longitude=self.TEST_LONGITUDE,
|
latitude=self.TEST_LATITUDE, longitude=self.TEST_LONGITUDE,
|
||||||
diaspora=False)
|
timezone="UTC", diaspora=False)
|
||||||
with patch('homeassistant.util.dt.now', return_value=test_time):
|
with patch('homeassistant.util.dt.now', return_value=test_time):
|
||||||
run_coroutine_threadsafe(
|
run_coroutine_threadsafe(
|
||||||
sensor.async_update(), self.hass.loop).result()
|
sensor.async_update(), self.hass.loop).result()
|
||||||
@ -125,8 +126,32 @@ class TestJewishCalenderSensor(unittest.TestCase):
|
|||||||
sensor = JewishCalSensor(
|
sensor = JewishCalSensor(
|
||||||
name='test', language='hebrew', sensor_type='weekly_portion',
|
name='test', language='hebrew', sensor_type='weekly_portion',
|
||||||
latitude=self.TEST_LATITUDE, longitude=self.TEST_LONGITUDE,
|
latitude=self.TEST_LATITUDE, longitude=self.TEST_LONGITUDE,
|
||||||
diaspora=False)
|
timezone="UTC", diaspora=False)
|
||||||
with patch('homeassistant.util.dt.now', return_value=test_time):
|
with patch('homeassistant.util.dt.now', return_value=test_time):
|
||||||
run_coroutine_threadsafe(
|
run_coroutine_threadsafe(
|
||||||
sensor.async_update(), self.hass.loop).result()
|
sensor.async_update(), self.hass.loop).result()
|
||||||
self.assertEqual(sensor.state, "פרשת נצבים")
|
self.assertEqual(sensor.state, "פרשת נצבים")
|
||||||
|
|
||||||
|
def test_jewish_calendar_sensor_first_stars_ny(self):
|
||||||
|
"""Test Jewish calendar sensor date output in hebrew."""
|
||||||
|
test_time = dt(2018, 9, 8)
|
||||||
|
sensor = JewishCalSensor(
|
||||||
|
name='test', language='hebrew', sensor_type='first_stars',
|
||||||
|
latitude=40.7128, longitude=-74.0060,
|
||||||
|
timezone="America/New_York", diaspora=False)
|
||||||
|
with patch('homeassistant.util.dt.now', return_value=test_time):
|
||||||
|
run_coroutine_threadsafe(
|
||||||
|
sensor.async_update(), self.hass.loop).result()
|
||||||
|
self.assertEqual(sensor.state, time(19, 48))
|
||||||
|
|
||||||
|
def test_jewish_calendar_sensor_first_stars_jerusalem(self):
|
||||||
|
"""Test Jewish calendar sensor date output in hebrew."""
|
||||||
|
test_time = dt(2018, 9, 8)
|
||||||
|
sensor = JewishCalSensor(
|
||||||
|
name='test', language='hebrew', sensor_type='first_stars',
|
||||||
|
latitude=self.TEST_LATITUDE, longitude=self.TEST_LONGITUDE,
|
||||||
|
timezone="Asia/Jerusalem", diaspora=False)
|
||||||
|
with patch('homeassistant.util.dt.now', return_value=test_time):
|
||||||
|
run_coroutine_threadsafe(
|
||||||
|
sensor.async_update(), self.hass.loop).result()
|
||||||
|
self.assertEqual(sensor.state, time(19, 21))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user