mirror of
https://github.com/esphome/esphome.git
synced 2024-11-24 12:06:26 +01: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};
|