mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	fix canbus send config (#5585)
Co-authored-by: Samuel Sieb <samuel@sieb.net>
This commit is contained in:
		| @@ -17,6 +17,7 @@ CONF_ON_FRAME = "on_frame" | ||||
|  | ||||
|  | ||||
| def validate_id(config): | ||||
|     if CONF_CAN_ID in config: | ||||
|         can_id = config[CONF_CAN_ID] | ||||
|         id_ext = config[CONF_USE_EXTENDED_ID] | ||||
|         if not id_ext: | ||||
| @@ -151,22 +152,18 @@ async def canbus_action_to_code(config, action_id, template_arg, args): | ||||
|     if can_id := config.get(CONF_CAN_ID): | ||||
|         can_id = await cg.templatable(can_id, args, cg.uint32) | ||||
|         cg.add(var.set_can_id(can_id)) | ||||
|     use_extended_id = await cg.templatable( | ||||
|         config[CONF_USE_EXTENDED_ID], args, cg.uint32 | ||||
|     ) | ||||
|     cg.add(var.set_use_extended_id(use_extended_id)) | ||||
|         cg.add(var.set_use_extended_id(config[CONF_USE_EXTENDED_ID])) | ||||
|  | ||||
|     remote_transmission_request = await cg.templatable( | ||||
|         config[CONF_REMOTE_TRANSMISSION_REQUEST], args, bool | ||||
|     cg.add( | ||||
|         var.set_remote_transmission_request(config[CONF_REMOTE_TRANSMISSION_REQUEST]) | ||||
|     ) | ||||
|     cg.add(var.set_remote_transmission_request(remote_transmission_request)) | ||||
|  | ||||
|     data = config[CONF_DATA] | ||||
|     if isinstance(data, bytes): | ||||
|         data = [int(x) for x in data] | ||||
|     if cg.is_template(data): | ||||
|         templ = await cg.templatable(data, args, cg.std_vector.template(cg.uint8)) | ||||
|         cg.add(var.set_data_template(templ)) | ||||
|     else: | ||||
|         if isinstance(data, bytes): | ||||
|             data = [int(x) for x in data] | ||||
|         cg.add(var.set_data_static(data)) | ||||
|     return var | ||||
|   | ||||
| @@ -203,3 +203,19 @@ light: | ||||
|         from: 20 | ||||
|         to: 25 | ||||
|       - single_light_id: ${roomname}_lights | ||||
|  | ||||
| canbus: | ||||
|   - platform: esp32_can | ||||
|     id: esp32_internal_can | ||||
|     rx_pin: GPIO04 | ||||
|     tx_pin: GPIO05 | ||||
|     can_id: 4 | ||||
|     bit_rate: 50kbps | ||||
|  | ||||
| button: | ||||
|   - platform: template | ||||
|     name: Canbus Actions | ||||
|     on_press: | ||||
|       - canbus.send: "abc" | ||||
|       - canbus.send: [0, 1, 2] | ||||
|       - canbus.send: !lambda return {0, 1, 2}; | ||||
|   | ||||
| @@ -3214,6 +3214,10 @@ text_sensor: | ||||
|           canbus_id: mcp2515_can | ||||
|           can_id: 23 | ||||
|           data: [0x10, 0x20, 0x30] | ||||
|       - canbus.send: | ||||
|           canbus_id: mcp2515_can | ||||
|           can_id: 23 | ||||
|           data: !lambda return {0x10, 0x20, 0x30}; | ||||
|       - canbus.send: | ||||
|           canbus_id: esp32_internal_can | ||||
|           can_id: 23 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user