async def async_setup_platform(hass, config, async_add_devices, discovery_info=None): if (discovery_info): entries = [PLATFORM_SCHEMA(x) for x in discovery_info] else: entries = [config] if DATA_NIBE not in hass.data: raise PlatformNotReady sensors = [] update = False for entry in entries: sensors.append( NibeBinarySensor(hass.data[DATA_NIBE]['uplink'], entry.get(CONF_SYSTEM), entry.get(CONF_PARAMETER), object_id=entry.get(CONF_OBJECTID), data=entry.get(CONF_DATA), name=entry.get(CONF_NAME))) if entry.get(CONF_DATA) is None: update = True async_add_devices(sensors, update)
def test_setup(self, mock_template): """"Test the setup.""" tpl = template_hlpr.Template('{{ foo }}', self.hass) config = PLATFORM_SCHEMA({ 'platform': 'template', 'sensors': { 'test': { 'friendly_name': 'virtual thingy', 'value_template': tpl, 'sensor_class': 'motion', 'entity_id': 'test' }, } }) add_devices = mock.MagicMock() result = template.setup_platform(self.hass, config, add_devices) self.assertTrue(result) mock_template.assert_called_once_with(self.hass, 'test', 'virtual thingy', 'motion', tpl, 'test') add_devices.assert_called_once_with([mock_template.return_value])