From cd39558b1f94d389b5cc8306738178f9f5913807 Mon Sep 17 00:00:00 2001 From: ESPHome Device Builder Date: Sat, 11 Jul 2026 17:42:25 +1200 Subject: [PATCH] Add esp-espnow_test_transmitter1.yaml --- esphome/esp-espnow_test_transmitter1.yaml | 114 ++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 esphome/esp-espnow_test_transmitter1.yaml diff --git a/esphome/esp-espnow_test_transmitter1.yaml b/esphome/esp-espnow_test_transmitter1.yaml new file mode 100644 index 0000000..a79b5c4 --- /dev/null +++ b/esphome/esp-espnow_test_transmitter1.yaml @@ -0,0 +1,114 @@ +#:########################################################################################:# +# ESP-NOW Test Transmitter +#:########################################################################################:# +# +# Hardware: +# - ESP32-S3-Zero / ESP32-S3 Super Mini style board +# +# Wiring: +# - Button between GPIO4 and GND. +# +# Behaviour: +# - Sleeps most of the time. +# - Button press wakes the ESP32-S3. +# - Sends ESP-NOW broadcast 3 times. +# - Goes back to deep sleep. +# +# IMPORTANT: +# - Set espnow.channel to the same 2.4 GHz Wi-Fi channel used by the receiver. +# +#:########################################################################################:# + +substitutions: + device_name: espnow-test-transmitter + friendly_name: "ESPNow Test Transmitter" + +esphome: + name: ${device_name} + friendly_name: ${friendly_name} + + on_boot: + priority: -100 + then: + - logger.log: "Booted. Sending ESP-NOW test packet..." + - script.execute: send_espnow_press + - delay: 500ms + - logger.log: "Going back to deep sleep." + - deep_sleep.enter: deep_sleep_control + +esp32: + board: esp32-s3-devkitc-1 + framework: + type: arduino + +logger: + level: DEBUG + +#:########################################################################################:# +# No Wi-Fi on transmitter +#:########################################################################################:# +# +# This keeps the transmitter fast and battery-friendly. +# Upload over USB for this test. +# + +#:########################################################################################:# +# ESP-NOW Transmit +#:########################################################################################:# + +espnow: + channel: 6 + +script: + - id: send_espnow_press + mode: single + then: + - lambda: |- + id(press_count) += 1; + + - espnow.broadcast: + data: !lambda |- + std::string msg = "REMOTE_A:BUTTON_1:" + to_string(id(press_count)); + return std::vector(msg.begin(), msg.end()); + + - delay: 50ms + + - espnow.broadcast: + data: !lambda |- + std::string msg = "REMOTE_A:BUTTON_1:" + to_string(id(press_count)); + return std::vector(msg.begin(), msg.end()); + + - delay: 50ms + + - espnow.broadcast: + data: !lambda |- + std::string msg = "REMOTE_A:BUTTON_1:" + to_string(id(press_count)); + return std::vector(msg.begin(), msg.end()); + +globals: + - id: press_count + type: int + restore_value: true + initial_value: '0' + +#:########################################################################################:# +# Wake Button and Deep Sleep +#:########################################################################################:# + +binary_sensor: + - platform: gpio + id: wake_button + name: "Wake Button" + internal: true + pin: + number: GPIO4 + mode: INPUT_PULLUP + inverted: true + +deep_sleep: + id: deep_sleep_control + wakeup_pin: + number: GPIO4 + mode: INPUT_PULLUP + inverted: true + sleep_duration: 365d \ No newline at end of file