예제 #1
0
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)
예제 #2
0
 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])