Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- esphome:
- name: abridor-ventana-bano
- platform: ESP8266
- board: nodemcuv2 # Ajustado para ESP8266
- wifi:
- ssid: "yourwifi"
- password: "pass"
- logger:
- api:
- ota:
- platform: esphome
- # Pines para el motor (puente H L9110)
- output:
- - platform: gpio
- pin: D1 # GPIO5
- id: motor_forward
- - platform: gpio
- pin: D2 # GPIO4
- id: motor_backward
- # Pines para los finales de carrera (configurados con pull-up interno)
- binary_sensor:
- - platform: gpio
- pin:
- number: GPIO0 # D3 en la placa
- mode: INPUT_PULLUP # Configuración de pull-up interno
- name: "Límite Abierto"
- id: limite_abierto
- filters:
- - lambda: return !x; # Invertir la lógica del sensor con una expresión lambda
- on_press:
- - output.turn_off: motor_forward # Detener motor al alcanzar el límite abierto
- - switch.turn_off: motor # Apagar el interruptor en HA
- - platform: gpio
- pin:
- number: GPIO12 # GPIO12 para "Límite Cerrado"
- mode: INPUT_PULLUP # Configuración de pull-up interno
- name: "Límite Cerrado"
- id: limite_cerrado
- filters:
- - lambda: return !x; # Invertir la lógica del sensor con una expresión lambda
- on_press:
- - output.turn_off: motor_backward # Detener motor al alcanzar el límite cerrado
- - switch.turn_off: motor # Apagar el interruptor en HA
- # Switches para controlar el motor
- switch:
- - platform: template
- name: "Abrir Ventana"
- turn_on_action:
- - lambda: |-
- if (id(limite_abierto).state) {
- ESP_LOGD("Abrir Ventana", "Límite abierto activado. No se puede abrir más.");
- } else {
- // Si no está en el límite cerrado, permitir abrir
- id(motor).turn_on();
- id(motor_forward).turn_on();
- }
- turn_off_action:
- - lambda: |-
- id(motor).turn_off();
- id(motor_forward).turn_off();
- - platform: template
- name: "Cerrar Ventana"
- turn_on_action:
- - lambda: |-
- if (id(limite_cerrado).state) {
- ESP_LOGD("Cerrar Ventana", "Límite cerrado activado. No se puede cerrar más.");
- } else {
- // Si no está en el límite abierto, permitir cerrar
- id(motor).turn_on();
- id(motor_backward).turn_on();
- }
- turn_off_action:
- - lambda: |-
- id(motor).turn_off();
- id(motor_backward).turn_off();
- - platform: template
- name: "Detener Motor"
- id: motor
- turn_on_action:
- - output.turn_off: motor_forward
- - output.turn_off: motor_backward
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement