Moteur pas a pas a4988

Mon problème: debutant je suis nul en anglais et j arrive pas a comprendre les instructions

j aimerais commander un moteur pas a pas en wifi (esp8266 wimos mini d1 ), je bloque
sur le paragraphe [u]stepper.set_target[/u] Action du tuto Stepper Component
en gros je sais pas ou mettre le code fourni dans HA

Ma configuration

System Health

version core-2022.4.7
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.9.9
os_name Linux
os_version 5.10.108
arch x86_64
timezone Europe/Paris
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 7.6
update_channel stable
supervisor_version supervisor-2022.04.0
docker_version 20.10.9
disk_total 31.3 GB
disk_used 5.7 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons Samba share (9.5.1), Studio Code Server (5.0.0), Mosquitto broker (6.0.1), File editor (5.3.3), NGINX Home Assistant SSL proxy (3.1.1), ESPHome (2022.4.0), Node-RED (11.1.1), SSH & Web Terminal (10.1.1)
Dashboards
dashboards 1
resources 0
views 1
mode storage

Personne pour m’aiguiller ?

Salut,

Tu installes l’add-on ESPHome
Tu flashes ton esp32 (pour le lier à ESPHome)
Tu mets ton code dans ESPHome, tu compiles et tu reflashes
C’est visible dans HA et voilà

Comment tu contrôle le moteur ?
Je n arrive pas a avoir la commande sur ha
Il faut créer une automatisation ?ou un script ?

Les 2 sont valables.
Tu as essayé l’exemple de la doc ?

Salut,

Il n’est pas très clair dans tes messages, à quel niveau tu es dans la maitrise de ESPHome.

Avant de vouloir faire que que ce soit dans HA, il faut avoir l’add-on ESPHome installé et démarré, puis créer un module dans ESPHome qui compile et est flashé sur ton Wemos.
Si tel est le cas, au premier branchement de ton module flashé tu devrais voir HA qui te dit qu’il a trouvé un nouveau device sur ton réseau : ton module…
Si tel est le cas, le module en question une fois ajouté à HA, te fourni des entités et des services (suivant ce que tu as défini dans ton programme ESPHome).
Si tel est le cas, c’est à ce moment que tu peux commencer à te poser la question de comment tu veux ou peux contrôler tom module depuis HA.

Donc où en es tu?

je vais essayer d etre plus claire meme si je n’est pas le vocabulaire HA.
esphome flasher avec ce code

esphome:
  name: esp18

esp8266:
  board: d1_mini

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "5*********************1"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp18 Fallback Hotspot"
    password: "**************"

stepper:
  - platform: a4988
    id: my_stepper
    step_pin: GPIO3
    dir_pin: GPIO4
    max_speed: 250 steps/s

    # Optional:
    sleep_pin: GPIO2
    acceleration: inf
    deceleration: inf




OK
Donc dans le lien que tu cites au tout début, il y a un exemple avec un slider (-1000/+1000) et une automatisation pour lancer le service avec ton moteur.
C’est ça dont tu as besoin pour avoir la commande visuelle (input)

oui , j ai modifier le fichier configuration.yaml et le reste je sais pas quel fichier modifier


# Loads default set of integrations. Do not remove.
default_config:

# Text to speech
tts:
  - platform: google_translate


script: !include scripts.yaml
scene: !include scenes.yaml
# Add a slider control to Home Assistant to set an integer value
input_number:
  stepper_control:
    name: Stepper Control
    initial: 0
    min: -1000
    max: 1000
    step: 1
    mode: slider

# Do something when the slider changes
automation:!include automations.yaml
  - alias: Write Stepper Value to ESP
    trigger:
      platform: state
      entity_id: input_number.stepper_control
    action:
      # Replace livingroom with the name you gave the ESP
      - service: esphome.livingroom_control_stepper
        data_template:
          target: '{{ trigger.to_state.state | int }}'

le fichier automations.yaml est vide, ainsi que le fichier scripts.yaml et scenes.yaml

La ligne 'automation: ! include xxxxxxx ’ reste dans configuration.yaml (attention il manque l’espace après le :
le reste est à mettre dans le fichier ‹ automations.yaml › justement

j ai essayer mais j ai des erreur sur le fichier configurations :bad indentation of a mapping entry at line 24, column 10:
- alias: Write Stepper Value to ESP
^
et sur le fichier automatisation : unknown tag !<!lambda> at line 16, column 1:

^

Donc tu coupes le contenu de configuration.yaml à partir de la ligne 24 (- alias)
Ce que tu as coupé est à mettre dans automations.yaml

En principe le reste c’est plus que de la syntaxe yaml (notamment les indentations à corriger)

comme ceci ? automatisation.yaml:

on_...:
  then:
  - stepper.set_target:
      id: my_stepper
      target: 250

  # Templated
  - stepper.set_target:
      id: my_stepper
      target: !lambda |-
        if (id(my_binary_sensor).state) {
          return 1000;
        } else {
          return -1000;
          
- alias: Write Stepper Value to ESP
    trigger:
      platform: state
      entity_id: input_number.stepper_control
    action:
      # Replace livingroom with the name you gave the ESP
      - service: esphome.livingroom_control_stepper
        data_template:
          target: '{{ trigger.to_state.state | int }}'

Depuis le pc c’est plus simple :
ça dans configuration.yaml
image

input_number:
  stepper_control:
    name: Stepper Control
    initial: 0
    min: -1000
    max: 1000
    step: 1
    mode: slider

ça dans automations.yaml
image

# Do something when the slider changes
- alias: Write Stepper Value to ESP
  trigger:
    platform: state
    entity_id: input_number.stepper_control
  action:
    # Replace livingroom with the name you gave the ESP
    - service: esphome.livingroom_control_stepper
      data_template:
        target: "{{ trigger.to_state.state | int }}"

Par contre l’esp n’est probablement pas tout à fait configuré au complet :
Sur le code au dessus, il existe une entité esphome.livingroom_control_stepper, dans les captures d’écran d’ESP de ce matin, on ne voit qu’une entité switch