esphome: on_boot: then: - canbus.send: # Extended ID explicit use_extended_id: true can_id: 0x100 data: [0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08] - canbus.send: # Standard ID by default can_id: 0x100 data: [0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08] canbus: - platform: esp32_can id: esp32_internal_can rx_pin: 13 tx_pin: 14 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: 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; // to be continued... }