|
|
@@ -12,6 +12,8 @@ from custom_components.tuya_local.const import (
|
|
|
CONF_TYPE_GECO_HEATER,
|
|
|
CONF_TYPE_GPCV_HEATER,
|
|
|
CONF_TYPE_GPPH_HEATER,
|
|
|
+ CONF_TYPE_KOGAN_HEATER,
|
|
|
+ CONF_TYPE_KOGAN_SWITCH,
|
|
|
)
|
|
|
from custom_components.tuya_local.device import TuyaLocalDevice
|
|
|
|
|
|
@@ -21,6 +23,8 @@ from .const import (
|
|
|
GECO_HEATER_PAYLOAD,
|
|
|
GPCV_HEATER_PAYLOAD,
|
|
|
GPPH_HEATER_PAYLOAD,
|
|
|
+ KOGAN_HEATER_PAYLOAD,
|
|
|
+ KOGAN_SOCKET_PAYLOAD,
|
|
|
)
|
|
|
|
|
|
|
|
|
@@ -102,6 +106,18 @@ class TestDevice(IsolatedAsyncioTestCase):
|
|
|
self.subject._cached_state = FAN_PAYLOAD
|
|
|
self.assertEqual(await self.subject.async_inferred_type(), CONF_TYPE_FAN)
|
|
|
|
|
|
+ async def test_detects_kogan_heater_payload(self):
|
|
|
+ self.subject._cached_state = KOGAN_HEATER_PAYLOAD
|
|
|
+ self.assertEqual(
|
|
|
+ await self.subject.async_inferred_type(), CONF_TYPE_KOGAN_HEATER
|
|
|
+ )
|
|
|
+
|
|
|
+ async def test_detects_kogan_socket_payload(self):
|
|
|
+ self.subject._cached_state = KOGAN_SOCKET_PAYLOAD
|
|
|
+ self.assertEqual(
|
|
|
+ await self.subject.async_inferred_type(), CONF_TYPE_KOGAN_SWITCH
|
|
|
+ )
|
|
|
+
|
|
|
async def test_detection_returns_none_when_device_type_could_not_be_detected(self):
|
|
|
self.subject._cached_state = {"1": False}
|
|
|
self.assertEqual(await self.subject.async_inferred_type(), None)
|