mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 07:03:55 +00:00 
			
		
		
		
	Adds new homeassistant.tag_scanned action (#1281)
This commit is contained in:
		
				
					committed by
					
						 Guillermo Ruffino
						Guillermo Ruffino
					
				
			
			
				
	
			
			
			
						parent
						
							c4edd3047f
						
					
				
				
					commit
					a0bb7c3ed0
				
			| @@ -3,7 +3,8 @@ import esphome.config_validation as cv | |||||||
| from esphome import automation | from esphome import automation | ||||||
| from esphome.automation import Condition | from esphome.automation import Condition | ||||||
| from esphome.const import CONF_DATA, CONF_DATA_TEMPLATE, CONF_ID, CONF_PASSWORD, CONF_PORT, \ | from esphome.const import CONF_DATA, CONF_DATA_TEMPLATE, CONF_ID, CONF_PASSWORD, CONF_PORT, \ | ||||||
|     CONF_REBOOT_TIMEOUT, CONF_SERVICE, CONF_VARIABLES, CONF_SERVICES, CONF_TRIGGER_ID, CONF_EVENT |     CONF_REBOOT_TIMEOUT, CONF_SERVICE, CONF_VARIABLES, CONF_SERVICES, CONF_TRIGGER_ID, CONF_EVENT, \ | ||||||
|  |     CONF_TAG | ||||||
| from esphome.core import coroutine_with_priority | from esphome.core import coroutine_with_priority | ||||||
|  |  | ||||||
| DEPENDENCIES = ['network'] | DEPENDENCIES = ['network'] | ||||||
| @@ -137,6 +138,23 @@ def homeassistant_event_to_code(config, action_id, template_arg, args): | |||||||
|     yield var |     yield var | ||||||
|  |  | ||||||
|  |  | ||||||
|  | HOMEASSISTANT_TAG_SCANNED_ACTION_SCHEMA = cv.maybe_simple_value({ | ||||||
|  |     cv.GenerateID(): cv.use_id(APIServer), | ||||||
|  |     cv.Required(CONF_TAG): cv.templatable(cv.string_strict), | ||||||
|  | }, key=CONF_TAG) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | @automation.register_action('homeassistant.tag_scanned', HomeAssistantServiceCallAction, | ||||||
|  |                             HOMEASSISTANT_TAG_SCANNED_ACTION_SCHEMA) | ||||||
|  | def homeassistant_tag_scanned_to_code(config, action_id, template_arg, args): | ||||||
|  |     serv = yield cg.get_variable(config[CONF_ID]) | ||||||
|  |     var = cg.new_Pvariable(action_id, template_arg, serv, True) | ||||||
|  |     cg.add(var.set_service('esphome.tag_scanned')) | ||||||
|  |     templ = yield cg.templatable(config[CONF_TAG], args, cg.std_string) | ||||||
|  |     cg.add(var.add_data('tag_id', templ)) | ||||||
|  |     yield var | ||||||
|  |  | ||||||
|  |  | ||||||
| @automation.register_condition('api.connected', APIConnectedCondition, {}) | @automation.register_condition('api.connected', APIConnectedCondition, {}) | ||||||
| def api_connected_to_code(config, condition_id, template_arg, args): | def api_connected_to_code(config, condition_id, template_arg, args): | ||||||
|     yield cg.new_Pvariable(condition_id, template_arg) |     yield cg.new_Pvariable(condition_id, template_arg) | ||||||
|   | |||||||
| @@ -280,6 +280,9 @@ text_sensor: | |||||||
|           service: light.turn_on |           service: light.turn_on | ||||||
|           data: |           data: | ||||||
|             entity_id: light.my_light |             entity_id: light.my_light | ||||||
|  |       - homeassistant.tag_scanned: | ||||||
|  |           tag: 1234-abcd | ||||||
|  |       - homeassistant.tag_scanned: 1234-abcd | ||||||
|   - platform: template |   - platform: template | ||||||
|     name: "Template Text Sensor" |     name: "Template Text Sensor" | ||||||
|     lambda: |- |     lambda: |- | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user