Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
digitales:hardware:esp:deep_sleep [14.04.2023] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | digitales:hardware:esp:deep_sleep [24.04.2025] (aktuell) – ↷ Links angepasst, weil Seiten im Wiki verschoben wurden cs | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | {{tag> | ||
+ | |||
+ | ====== ESP32/ | ||
+ | |||
+ | ===== Besonderheiten ESP8266 ===== | ||
+ | |||
+ | Um das Timer-Wake-up mit ESP8266 zu verwenden, muss der RST-Pin mit GPIO 16 (D0) verbunden werden. Siehe: [[https:// | ||
+ | |||
+ | [[..: | ||
+ | |||
+ | ===== Auf dem Client ===== | ||
+ | |||
+ | <file yaml deep-sleep-d1-mini.yaml> | ||
+ | esphome: | ||
+ | name: deep-sleep-d1-mini | ||
+ | friendly_name: | ||
+ | on_boot: | ||
+ | priority: 250.0 | ||
+ | then: | ||
+ | |||
+ | on_loop: | ||
+ | then: | ||
+ | - if: | ||
+ | condition: | ||
+ | - not: | ||
+ | - script.is_running: | ||
+ | then: | ||
+ | - script.execute: | ||
+ | |||
+ | esp8266: | ||
+ | board: esp01_1m | ||
+ | |||
+ | logger: | ||
+ | |||
+ | api: | ||
+ | encryption: | ||
+ | key: " | ||
+ | |||
+ | ota: | ||
+ | password: " | ||
+ | |||
+ | wifi: | ||
+ | ssid: !secret wifi_ssid | ||
+ | password: !secret wifi_password | ||
+ | fast_connect: | ||
+ | |||
+ | # Enable fallback hotspot (captive portal) in case wifi connection fails | ||
+ | ap: | ||
+ | ssid: " | ||
+ | password: !secret fallback_password | ||
+ | |||
+ | captive_portal: | ||
+ | |||
+ | deep_sleep: | ||
+ | id: deep_sleep_1 | ||
+ | run_duration: | ||
+ | sleep_duration: | ||
+ | |||
+ | mqtt: | ||
+ | broker: homeassistant.local | ||
+ | username: MQTT-user | ||
+ | password: !secret mqtt_password | ||
+ | discovery: true | ||
+ | |||
+ | on_message: | ||
+ | - topic: deep-sleep-d1-mini/ | ||
+ | payload: ' | ||
+ | then: | ||
+ | - logger.log: OTA Mode set to ON from MQTT | ||
+ | - deep_sleep.prevent: | ||
+ | - topic: deep-sleep-d1-mini/ | ||
+ | payload: ' | ||
+ | then: | ||
+ | - logger.log: OTA Mode set to OFF from MQTT | ||
+ | - deep_sleep.allow: | ||
+ | # - deep_sleep.enter: | ||
+ | |||
+ | switch: | ||
+ | - platform: template | ||
+ | id: sleep_demo_switch | ||
+ | name: sleep_demo_switch | ||
+ | optimistic: true | ||
+ | |||
+ | script: | ||
+ | id: demo_script | ||
+ | mode: single | ||
+ | then: | ||
+ | - switch.toggle: | ||
+ | - delay: 1s | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | ===== In home assistant ===== | ||
+ | |||
+ | ==== Automation ==== | ||
+ | |||
+ | <file yaml automation.yaml> | ||
+ | alias: deep-sleep-d1-mini/ | ||
+ | description: | ||
+ | trigger: | ||
+ | - platform: state | ||
+ | entity_id: | ||
+ | - input_select.deep_sleep_d1_mini_ota_mode | ||
+ | condition: [] | ||
+ | action: | ||
+ | - choose: | ||
+ | - conditions: | ||
+ | - condition: state | ||
+ | entity_id: input_select.deep_sleep_d1_mini_ota_mode | ||
+ | state: " | ||
+ | sequence: | ||
+ | - service: script.deep_sleep_d1_mini_ota_mode | ||
+ | data: {} | ||
+ | - choose: | ||
+ | - conditions: | ||
+ | - condition: state | ||
+ | entity_id: input_select.deep_sleep_d1_mini_ota_mode | ||
+ | state: " | ||
+ | sequence: | ||
+ | - service: script.deep_sleep_d1_mini_ota_mode_off | ||
+ | data: {} | ||
+ | mode: single | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | ==== Script ==== | ||
+ | |||
+ | <code yaml deep-sleep-d1-mini_ota_mode_ON.yaml> | ||
+ | alias: deep-sleep-d1-mini/ | ||
+ | sequence: | ||
+ | - service: mqtt.publish | ||
+ | data: | ||
+ | qos: " | ||
+ | retain: true | ||
+ | topic: deep-sleep-d1-mini/ | ||
+ | payload: " | ||
+ | mode: single | ||
+ | icon: mdi: | ||
+ | </ | ||
+ | |||
+ | <code yaml deep-sleep-d1-mini_ota_mode_OFF.yaml> | ||
+ | alias: deep-sleep-d1-mini/ | ||
+ | sequence: | ||
+ | - service: mqtt.publish | ||
+ | data: | ||
+ | qos: " | ||
+ | retain: true | ||
+ | topic: deep-sleep-d1-mini/ | ||
+ | payload: " | ||
+ | mode: single | ||
+ | icon: mdi: | ||
+ | </ | ||
+ | |||
+ | <code yaml deep-sleep-d1-mini.yaml> | ||
+ | substitutions: | ||
+ | devicename: deep-sleep-d1-mini | ||
+ | upper_devicename: | ||
+ | |||
+ | esphome: | ||
+ | name: $devicename | ||
+ | friendly_name: | ||
+ | on_boot: | ||
+ | priority: 250.0 | ||
+ | then: | ||
+ | | ||
+ | on_loop: | ||
+ | then: | ||
+ | - if: | ||
+ | condition: | ||
+ | - not: | ||
+ | - script.is_running: | ||
+ | then: | ||
+ | - script.execute: | ||
+ | |||
+ | esp8266: | ||
+ | board: esp01_1m | ||
+ | |||
+ | logger: | ||
+ | |||
+ | packages: | ||
+ | wifi: !include packages/ | ||
+ | mqtt: !include packages/ | ||
+ | ota: !include packages/ | ||
+ | |||
+ | #wifi: | ||
+ | # use_address: | ||
+ | |||
+ | # Notice that ‘api’ is commented out, as it clashes with deep sleep as it can take a minute or two to connect to the HA api. | ||
+ | #api: | ||
+ | |||
+ | captive_portal: | ||
+ | | ||
+ | deep_sleep: | ||
+ | id: deep_sleep_1 | ||
+ | run_duration: | ||
+ | sleep_duration: | ||
+ | |||
+ | mqtt: | ||
+ | on_message: | ||
+ | - topic: deep-sleep-d1-mini/ | ||
+ | payload: ' | ||
+ | then: | ||
+ | - logger.log: OTA Mode set to ON from MQTT | ||
+ | - deep_sleep.prevent: | ||
+ | - topic: deep-sleep-d1-mini/ | ||
+ | payload: ' | ||
+ | then: | ||
+ | - logger.log: OTA Mode set to OFF from MQTT | ||
+ | - deep_sleep.allow: | ||
+ | # - deep_sleep.enter: | ||
+ | |||
+ | switch: | ||
+ | - platform: template | ||
+ | id: sleep_demo_switch | ||
+ | optimistic: true | ||
+ | |||
+ | | ||
+ | |||
+ | script: | ||
+ | id: demo_script | ||
+ | mode: single | ||
+ | then: | ||
+ | - logger.log: | ||
+ | format: "Ich bin ESP8266 ESP-01 1M" | ||
+ | - switch.toggle: | ||
+ | - delay: 1s | ||
+ | </ | ||
+ | |||