CC les pro,
j’ai un log mqtt
"name": "Garage Door Relay",
"state_topic": "garageporte/switch/garage_door_relay/state",
"command_topic": "garageporte/switch/garage_door_relay/command",
"availability_topic": "garageporte/status",
"unique_id": "ESPswitchgarage_door_relay",
"device": {
"identifiers": "807d3a3e1f1a",
"name": "garageporte",
"sw_version": "esphome v1.15.3 Nov 16 2020, 09:59:35",
"model": "PLATFORMIO_NODEMCUV2",
"manufacturer": "espressif"
}
}```
et j'aimerai integrer le switch a HA. j'ai mis ca
```switch:
##### GARAGE ######
- platform: mqtt
name: "porte Garage"
state_topic: "garageporte/switch/garage_door_relay/state"
command_topic: "garageporte/switch/garage_door_relay/command" ```
j'ai bien l'entity mais il ne reagi pas sur mon relay
Hye, tu peux faire voir ton fichier conf de Esphome.
J’ai fait ça pour mon portail et le switch et dans le conf.
voila mon fichier.
ota:
mqtt:
broker: 192.168.1.20
port: 1883
username: !secret mqtt_user
password: !secret mqtt_password
switch:
- platform: gpio
pin: GPIO5 # D1
id: relay
- platform: template
name: "Garage Door Relay"
icon: "mdi:gate"
turn_on_action:
- switch.turn_on: relay
- delay: 500ms
- switch.turn_off: relay
internal: false
- platform: restart
name: "Porte Garage Restart"
#binary_sensor:
# - platform: gpio
# pin: GPIO13 # D7
# #pin: GPIO5
# name: "Garage Contact Sensor"
# id: contact_sensor
# internal: true
# filters:
# - invert:
cover:
- platform: template
device_class: garage
name: "Garage Door"
id: template_cov
lambda: |-
if (id(contact_sensor_open).state) {
return COVER_OPEN;
} else {
if (id(contact_sensor_close).state)
return COVER_CLOSED;
}
open_action:
- switch.turn_on: relay
- delay: 0.5s
- switch.turn_off: relay
close_action:
- switch.turn_on: relay
- delay: 0.5s
- switch.turn_off: relay
binary_sensor:
- platform: gpio
pin:
number: D7
mode: INPUT_PULLUP
inverted: true
id: "contact_sensor_close"
name: "Portail fermé"
- platform: gpio
pin:
number: D6
mode: INPUT_PULLUP
inverted: true
id: "contact_sensor_open"
name: "Portail ouvert"
# Send IP Address to HA
text_sensor:
- platform: wifi_info
ip_address:
name: $friendly_name IP Address
- platform: version
name: "porte garage Version"
hide_timestamp: True
# Send WiFi signal strength & uptime to HA
sensor:
- platform: wifi_signal
name: "WiFi Signal Sensor"
update_interval: 60s
J’ai 2 capteur marches a sec
Si je comprends, tu as un actionneur (Contact sec) pour déclencher ton automatisme de porte sur le D5
Tu as un capteur de porte ouverte sur D6
un autre capteur de porte fermée sur D7
Tout ça sur un NodMcu ?
Tu confirmes ?
Oui c’est exacte. avoir 2 contact c’est plus sur pour la position de la porte
Tu utilises une impulsion via un relais pour faire le contact sec sur ton automatisme.
Le problème est que ton cover ne peux avoir que 2 états (open ,closed)
impossible de savoir si il est en ouverture ou en fermeture étant donné que tu peux le stopper pendant un mouvement et l’impulsion suivante va inversé le mouvement.
Un seul contact est suffisant (celui pour valider la bonne fermeture) mais tu peux garder le second qui n’aura pas d’utilité directe. Tu pourras l’utiliser comme sensor validant l’ouverture du portail.
Je te mets ma config qui fonctionne avec seulement le contact validant la fermeture du portail:
substitutions:
devicename: portail
esphome:
name: $devicename
platform: ESP8266
board: nodemcuv2
wifi:
networks:
- ssid: !secret ssid
password: !secret Wifi_password
- ssid: openwrt
password: !secret Wifi_password
ap:
ssid: "Portail Fallback Hotspot"
password: !secret Wifi_password
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
mqtt:
broker: 192.168.10.125
username: !secret usermqtt
password: !secret pswmqtt
binary_sensor:
- platform: gpio
pin:
number: D7
mode: INPUT_PULLUP
inverted: True
id: "portail_ferme"
name: "Portail fermé"
filters:
- delayed_on_off: 1000ms
switch:
- platform: gpio
pin: D5
inverted: false
name: "Portail"
id: relais_portail
internal: True
cover:
- platform: template
name: "Portail"
lambda: |-
if (id(portail_ferme).state) {
return COVER_CLOSED;
} else {
return COVER_OPEN;
}
open_action:
then:
- if:
condition:
# Le portail est fermé
binary_sensor.is_on: portail_ferme
then:
# j'ouvre le portail
- switch.turn_on: relais_portail
- delay: 500ms
- switch.turn_off: relais_portail
close_action:
then:
- if:
condition:
# Le portail n'est pas fermé
binary_sensor.is_off: portail_ferme
then:
# je ferme le portail
- switch.turn_on: relais_portail
- delay: 500ms
- switch.turn_off: relais_portail
stop_action:
- switch.turn_on: relais_portail
- delay: 500ms
- switch.turn_off: relais_portail
optimistic: true
Il te suffira d’ajouter une carte Bouton sur ton lovelace HA de ton entité cover.portail.
Rien à faire comme config sur MQTT, tout est intégré directement.
Merci pour les info je vais testé ca