mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-29 22:24:26 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| canbus:
 | |
|   - platform: esp32_can
 | |
|     id: esp32_internal_can
 | |
|     rx_pin: 4
 | |
|     tx_pin: 5
 | |
|     can_id: 4
 | |
|     bit_rate: 50kbps
 | |
|     on_frame:
 | |
|       - can_id: 500
 | |
|         then:
 | |
|           - lambda: |-
 | |
|               std::string b(x.begin(), x.end());
 | |
|               ESP_LOGD("canid 500", "%s", b.c_str());
 | |
|       - can_id: 23
 | |
|         then:
 | |
|           - if:
 | |
|               condition:
 | |
|                 lambda: "return x[0] == 0x11;"
 | |
|               then:
 | |
|                 logger.log: Truth
 | |
|       - can_id: 0b00000000000000000000001000000
 | |
|         can_id_mask: 0b11111000000000011111111000000
 | |
|         use_extended_id: true
 | |
|         then:
 | |
|           - lambda: |-
 | |
|               auto pdo_id = can_id >> 14;
 | |
|               switch (pdo_id)
 | |
|               {
 | |
|                 case 117:
 | |
|                   ESP_LOGD("canbus", "exhaust_fan_duty");
 | |
|                   break;
 | |
|                 case 118:
 | |
|                   ESP_LOGD("canbus", "supply_fan_duty");
 | |
|                   break;
 | |
|                 case 119:
 | |
|                   ESP_LOGD("canbus", "supply_fan_flow");
 | |
|                   break;
 | |
|               }
 | |
| 
 | |
| button:
 | |
|   - platform: template
 | |
|     name: Canbus Actions
 | |
|     on_press:
 | |
|       - canbus.send: "abc"
 | |
|       - canbus.send: [0, 1, 2]
 | |
|       - canbus.send: !lambda return {0, 1, 2};
 |