[résolu] Requète http sur esphome

Bonjour,

je suis toujours dans ma cuisine,
je vais avoir 2 modules ESP32 pour commander les cotés droite et gauche de ma cuisine
je cherche a faire communiquer les modules entre eux sans passer par HA pour des commandes simples comme allumer le plan de travail de droite quand j’allume le gauche

j’ai donc mes modules cuisine01 et cuisine02

sur cuisine 02 j’ai cela :

switch:
  - platform: gpio
    id: rel_led_pdt
    pin: GPIO26
    inverted: false
    name: "lumière pdt plaque"

j’ai bien activé le web_server,
j’ai bien accès a une page web avec l’adresse ip de mon module
déjà je cherche a faire un test avec CURL :

curl -X POST "http://cuisine02.local/switch/lumiere_pdt_plaque/toggle"
ou
curl -v -X POST "http://192.168.20.89/switch/rel_led_pdt/toggle"

mais rien ne se passe,
j’ai ce retour de curl :

*   Trying 192.168.20.89:80...
* Connected to 192.168.20.89 (192.168.20.89) port 80 (#0)
> POST /switch/rel_led_pdt/toggle HTTP/1.1
> Host: 192.168.20.89
> User-Agent: curl/7.74.0
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 404 Not Found
< Content-Length: 0
< Connection: close
< Accept-Ranges: none
< 
* Closing connection 0

alors une idée ?
vous avez déjà passé des commandes entre des nœuds esphome ?

bonjour stephane.
la cuisine avance ?
tu aurais pu relier les deux interrupteurs sur le même esp ;).
trêve de plaisanterie.
je n’ai jamais essayer mais il existe une requête http(s).
HTTP Request — ESPHome.
et donc aller chercher l’info sur l’autre esp(serveur web) le soucis reste de savoir quand chercher l’info.
ou en mqtt peut être.( Subscribe et client) si tu vas que dans un sens.
peut être ta solution.
stefan

Bon,

j’ai avancé, en tout cas pour la partie CURL
en fait, il faut utiliser les « name » et pas les « id »
et NE PAS METTRE D’ACCENT

alors maintenant, sans les accents, j’arrive bien a contrôler une lumière, un switch ou a récupérer une température …

curl -v -X POST « http://cuisine02.local/switch/lumiere_pdt_plaque/turn_off »

curl -v -X GET "http://cuisine02.local/sensor/temperature_cuisine_d/

curl -v -X POST « http://cuisine02.local/light/bandeau_haut_droite/turn_off »

avec en fin de chaine : turn_on, turn_off, toggle

bon, j’ai plus qu’à mettre les requêtes dans mon ‹ cuisine01 › qui va commander le 02 !

1 « J'aime »

bonjour.
du coup ce la ressemble à quoi?

binary_sensor:
  
  - platform: gpio
    pin: GPIO00
    id: bp_poussoir_esp_1
    on_press:
      - light.toggle:
           id: light_esp_2 

suis curieux.ca donnerait quoi pour un bouton poussoir?
binary_sensor:

  - platform: gpio
    pin: GPIO00
    id: bp_poussoir_esp_1
    on_press:
        - http_request.post:
             url: http://esp_2/light/esp_2/turn_off

stephane.

oui,
pour ce qui est de la partie esphome,
je ne sait pas trop a quoi ça ressemble pour le moment parce que ça fonctionne pas !

j’ai mis ça pour le moment :

http_request:
  useragent: esphome/device
  timeout: 10s

  - http_request.send:
     method: POST
     url: http://cuisine02.local/switch/lumiere_pdt_plaque/turn_on

mais j’ai un message d’erreur au déclenchement dans mes logs :

[18:19:45][W][http_request:062]: HTTP Request failed; URL: http://cuisine02.local/switch/lumiere_pdt_plaque/turn_on; Error: connection refused

alors que l’adresse est correcte puisque un CURL sous linux fonctionne très bien,

j’ai aussi essayé un http_request.post a la place du .send mais sans plus d’effet …

alors pour le moment je sèche !

mais quel co****on je suis !
y’a pas de DNS !
il faut juste mettre l’adresse IP pour que ça fonctionne

on_turn_on:
  - http_request.post:
     url: http://192.168.20.89/switch/lumiere_pdt_plaque/turn_on

et la je peut commander mes modules en direct l’un vers l’autre sans passer par HA
ni par du MQTT qui reviendrait au même

eh bien, voilà un problème de résolu…
au suivant

1 « J'aime »