def test_config(self): """Test config.""" self.assertFalse(input_slider.setup(self.hass, {"input_slider": None})) self.assertFalse(input_slider.setup(self.hass, {"input_slider": {}})) self.assertFalse(input_slider.setup(self.hass, {"input_slider": {"name with space": None}}))
def test_config(self): """Test config.""" self.assertFalse(input_slider.setup(self.hass, {'input_slider': None})) self.assertFalse(input_slider.setup(self.hass, {'input_slider': {}})) self.assertFalse( input_slider.setup(self.hass, {'input_slider': { 'name with space': None }}))
def test_select_value(self): """Test select_value method.""" self.assertTrue(input_slider.setup(self.hass, { 'input_slider': { 'test_1': { 'initial': 50, 'min': 0, 'max': 100, }, } })) entity_id = 'input_slider.test_1' state = self.hass.states.get(entity_id) self.assertEqual(50, float(state.state)) input_slider.select_value(self.hass, entity_id, '30.4') self.hass.pool.block_till_done() state = self.hass.states.get(entity_id) self.assertEqual(30.4, float(state.state)) input_slider.select_value(self.hass, entity_id, '70') self.hass.pool.block_till_done() state = self.hass.states.get(entity_id) self.assertEqual(70, float(state.state)) input_slider.select_value(self.hass, entity_id, '110') self.hass.pool.block_till_done() state = self.hass.states.get(entity_id) self.assertEqual(70, float(state.state))
def test_config(self): """Test config.""" self.assertFalse(input_slider.setup(self.hass, { 'input_slider': None })) self.assertFalse(input_slider.setup(self.hass, { 'input_slider': { } })) self.assertFalse(input_slider.setup(self.hass, { 'input_slider': { 'name with space': None } }))
def test_select_value(self): """Test select_value method.""" self.assertTrue( input_slider.setup( self.hass, { 'input_slider': { 'test_1': { 'initial': 50, 'min': 0, 'max': 100, }, } })) entity_id = 'input_slider.test_1' state = self.hass.states.get(entity_id) self.assertEqual(50, float(state.state)) input_slider.select_value(self.hass, entity_id, '30.4') self.hass.pool.block_till_done() state = self.hass.states.get(entity_id) self.assertEqual(30.4, float(state.state)) input_slider.select_value(self.hass, entity_id, '70') self.hass.pool.block_till_done() state = self.hass.states.get(entity_id) self.assertEqual(70, float(state.state)) input_slider.select_value(self.hass, entity_id, '110') self.hass.pool.block_till_done() state = self.hass.states.get(entity_id) self.assertEqual(70, float(state.state))
def setup(hass, config): """Setup example component.""" target_entity = config[DOMAIN].get('target') name = config[DOMAIN].get('name', DOMAIN + ' ' + target_entity) object_id_enable = DOMAIN + '_' + target_entity + '_enable' object_id_hour = DOMAIN + '_' + target_entity + '_hour' object_id_temp = DOMAIN + '_' + target_entity + '_temp' def activate(now): if hass.states.get('input_boolean.' + object_id_enable).state == 'off': return if not str(now.hour) == str(int(float(hass.states.get('input_slider.' + object_id_hour).state))): return climate.set_temperature(hass, hass.states.get('input_slider.' + object_id_temp).state, entity_id='climate.'+target_entity) hass.states.set('input_boolean.' + object_id_enable, 'off') _config = config['input_boolean'] _config[object_id_enable] = {'name': 'Enable', 'initial': False} config['input_boolean'] = _config input_boolean.setup(hass, config) _config = config['input_slider'] _config[object_id_hour] = {'name': 'Hour', 'initial': 15, 'min': 7, 'max': 23, 'step': 1} _config[object_id_temp] = {'name': 'Temp', 'initial': 20, 'min': 17, 'max': 22, 'step': 0.5} config['input_slider'] = _config input_slider.setup(hass, config) #_config = {'platform': 'template', 'sensors': { object_id_hour: {'value_template': '{{ states("input_slider.' + object_id_hour + '") | round(0) }}'}}} #config['sensor'] = _config #sensor.setup(hass, config) group.Group(hass,name, ['input_boolean.' + object_id_enable, 'input_slider.' + object_id_hour, 'input_slider.' + object_id_temp]) track_time_change(hass, activate, minute=0, second=2) def enable(entity_id, old_state, new_state): hass.states.set('input_boolean.' + object_id_enable, 'on') track_state_change(hass, ['input_slider.' + object_id_hour, 'input_slider.' + object_id_temp], enable) return True
def test_select_value(self): """Test select_value method.""" self.assertTrue( input_slider.setup(self.hass, {"input_slider": {"test_1": {"initial": 50, "min": 0, "max": 100}}}) ) entity_id = "input_slider.test_1" state = self.hass.states.get(entity_id) self.assertEqual("50", state.state) input_slider.select_value(self.hass, entity_id, "70") self.hass.pool.block_till_done() state = self.hass.states.get(entity_id) self.assertEqual("70", state.state) input_slider.select_value(self.hass, entity_id, "110") self.hass.pool.block_till_done() state = self.hass.states.get(entity_id) self.assertEqual("70", state.state)