Piloter 8266 avec url

Mon problème

bonjour petit nouveau sur le forum
je voudrais basculer un relais brancher sur 8266 esp01
je fonctionne trés bien avec esleasy mais pas avec esphome
mon yaml:

esphome:
  name: '108testesp01'
  platform: 'ESP8266'
  board: 'esp01_1m'
  
# Enable logging
logger:
  level: 'DEBUG'
  
web_server:
  port: '80'
  ota: 'false'

wifi:
  ssid: 'xxx'
  password: 'xxx'
 # Optional manual IP
  manual_ip:
    static_ip: '192.168.1.xxx'
    gateway: '192.168.1.254'
    subnet: '255.255.255.0'

http_request:
  useragent: esphome/device
  timeout: 10s

button:
  - platform: restart
    name: '(1)Bouton_Restart'
    
text_sensor:
  - platform: 'wifi_info'
    ip_address:
      name: '(3)ESP IP Address'
    mac_address:
      name: '(4)Mac Wifi Address'
    bssid:
      name: '(5)Mac Connected BSSID'
    
sensor:
  - platform: wifi_signal
    name: '(2)Signal_WiFi'
    update_interval: 60s
    
    
switch:
  - platform: gpio
    pin: 0
    name: 'prise'
    id : 'relais'
    
      

mon url sous espeasy
http://192.168.1.xxx/?cmd=gpio,0,1
cela fonctionne bien

mais quelle url pour esphome ??

http://192.168.1.xxx/switch/prise/ apres je ne sais plus

merci de m’aider

Renseigner votre problème

Ma configuration


Texte à remplacer par votre configuration

Comment récupérer ma configuration :
Dans votre HA, Menu latéral Paramètres > Système > Corrections puis les trois petits points en haut a droite > Informations Système puis une fois en bas Copier


Salut,

Pourquoi veux-tu passer par une url pour piloter ton esp ?
Sous HA (et nativement avec esphome), tu as une entité switch (switch.prise) qui se crée

merci de ta reponse,
.parceque je suis sur un vieux pc windows je n’utilise que esphome et pas ha et une machine virtuelle me mange ma machine

Je declanche avec une page web un fichier php

<?php
			if ($_POST['premier']=='ON')
			{
			file_get_contents('http://192.168.1.xxx/?cmd=gpio,0,0');
			/*$output = exec('prise.vbs 144 gpio,0,0');
			echo "<pre>$output</pre>";	*/
			}
			if ($_POST['premier']=='OFF')
			{
			file_get_contents('http://192.168.1.xxx/?cmd=gpio,0,1');
			/*$output = exec('projet2.exe');*/
			/*echo "$output";	*/
			}
			?>

Regarde là

merci de ta reponse
j’avais deja regarder se post
mais il s’agit d’envoyer une url par le 8266 quand le switch est actionné

merci d’avance

Pas du tout, c’est exactement le même cas que toi :
allumer le switch lumière pdt plaque de l’esp
via http://192.168.20.89/switch/lumiere_pdt_plaque/turn_on
La seule différence c’est que l’esp s’appelle lui-même

La ma femme me dit
A table
Je vois ça tout à l’heure

1 « J'aime »

je n’ai pas tout compri
image
mais je n’arrive pas a le faire commuter
d’apres ce qui est ecrit, par step96 cela devrais marcher mais il ne donne pas la totalite de son source
il y a peut etre une difference queque part

Regarde les logs des esp, il y a peut-être un indice, une identification manquante par exemple

Je ne savais pas qu’il y avait des logs
Je les cherche et je regarde ca

Je n’ai pas trouver les log
je me suis mi en " * VERY_VERBOSE" pour verifier mais je n’est rien vu
la solution de steph96

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

c’est ce qu’il envoye de cuisine01 vers cuisine02 quant il commute cuisine01

steph96 parle de esp32 et moi je suis avec
platform: ‹ ESP8266 ›
board: ‹ esp01_1m ›
peut-etre que steph96 pourrai me dire ce qu’il a mis dans son fichier yaml
en attente de reponse
cordialement

re bonjour
je ne sais pas qui a mis ce joli panneau vert au debut de la discution mais c’est bien dommage car rein n’est résolu.

Salut
Après recherche sur le web, ça n’est pas possible directement depuis un navigateur car Esphome ne permet pas l’appel d’url direct, il faut passer par des requêtes POST pour accéder à l’API.

Voici les commandes :

Commande curl quand l’authentification n’est pas activée dans la section “web_server” :
curl -v -X POST "http://<ip>/domaine/name/action"

Si authentification est activée:
curl -v -X POST "http://<ip>/domaine/name/action" --digest -u <username>:<password>

Explications dans la Partie REST API

Apparemment des extensions pour navigateur permettent d’en envoyer ou pour du php, utiliser POST ou CURL mais là je n’y connais rien

Attention un 8266 n’est pas conseillé pour utiliser la fonction webserver à cause de son manque de mémoire.
Tu devrais pouvoir voir si tout fonctionne sans HA via cette url http://ipdelesp ou http://nomdelesp.local et le commander depuis cette page web mais ça ne répond pas à ta question

Les logs se trouvent sur cette page ou sur HA

1 « J'aime »

Bonjour,
d’abord merci beaucoup, j’ai lu les api, je pensais ne pas etre concerné
effectivement, il est precisé que la requette doit etre POS
Dommage, c’est tellement facile avec espeasy.
j’ai donc fait un POST dans mon php

$postdata = http_build_query(array('name' => '','id' => '1'));
$opts = array('http' =>array('method' => 'POST','header' => 'Content-type: application/x-www-form-urlencoded','content' => $postdata));
$context = stream_context_create($opts);
$result = file_get_contents('http://192.168.1.108/switch/prise/turn_on', false, $context);
echo "<pre>$result<pre>"; 	

ca fonctionne parfaitement
Si je cherche a quitter espeasy c’est pour armoniser ma domotique, tout mes capteurs son avec esphome
et si je gade le 8266 c’est parcequ’il est pas cher et petit, j’ai juste un relais derriere pour piloter des prises et mes radiateurs.

Voila, encore un grand merci pour l’aide
alicalement

1 « J'aime »