ESP Easy - Wemos / relais - de la bonne gestion

Bonjour à tous,

Je souhaite commander une board relais (4 relais) via un wemos flashé esp easy mega.
Je n’ai pas mis de tag de plug in, je pense que ma question n’est pas foncièrement lié aux plug in concernés.

Pour commander le relais, il suffit de basculer le gpio concerné : 0 => relais fermé, 1=> relais ouvert.

ds esp-easy pas d’équipement switch (a priori) il faut lancer une requette http du style :

http://IP_ESPEASY/control?cmd=GPIO,ID_GPIO, {0|1}

pour récupérer l’état du relais, dans ESP easy j’ai créé un équipement bouton sur le GPIO concerné => pas de souci, j’ai la remonté d’état.

Pour controlé tout ça j’ai :

un virtuel avec
info « Etat_x_bis » => qui récupère l’état du bouton dans l’équipement esp easy, qui me sert à laffichage de l’état
info « Etat_x » => pour basculer les commandes « commandes » on_x et off_x, qui me sert à la bascule du relai, non affiché

mes commandes on et off sont tel que :

image

donc sur la commande, je valorise l’Etat_x à la valeur en cours du relais (les logiques sont inversé)
et sur cette commande, je lance un refresh de :l’équipement « script » qui gère la requete http :

dans cette requete je récupère la valeur de « Etat_x » => ce qui fait basculer le relais, met à jour l’équiepement via le bouton => qui est récupéré dans « Etat_x_bis »

Ca fonctionne parfaitement (tant que tout est en ligne), mais ça me semble bien capilotracté, et donc maintenance compliqué car avec une board 4 relais, j’ai du mettre en place 4 équipement script distinct.

Ma question est : comment faire plus simple? Une subtilité ds espeasy et plugin à coté de laquelle je serai passé?

Je ne suis pas sur d’avoir été clair…
Merci

Ben

bonjour
le plug esp easy ou jmqtt te permet de ne pas devoir faire une requête pour connaitre l’état.
si j’ai bien compris ton soucis ?

Bonjour Ajja,

Le pb c’est que ds esp easy (pas le plugin, le firmware sur le wemos) il n’y a pas de device « switch output » (en tout cas pas ds celle que j’ai flashé), sinon ça aurait été trivial!

Là j’ai l’impression d’avoir monté une usine à gaz pour juste faire basculer 4 gpio (entre l’équipement sur le plugin espeasy, le virtuel avec 2x4 Infos et les 8 commandes) et les 4 « équipements » scripts pour lancer les 4 requêtes distinctes… manque plus q’un scénario la dedans!

Je me dis qu’il y a une simplification/un process que je n’ai pas vu…!

on se fiche de output
le relai comme toi (simple)
envoi 3.3v pour On sur un relai raspberry
(tu peux inversé l’état si besoin)
le bouton avec un pull up interne (donc le contraire)



un autre exemple (electrodragon )
un sensor qui me retourne 1/0 sur interupteur 230v (va et viens)

2 relais 1=allumés 0=éteins (comme toi)

et un rules interne

// EVENT BOUTON
on BT1#Interrupteur do // SI APPUI BT
if [R1#Lampes]=0 // ETAT RELAIS
GPIO, 13,1 //  LAMPE ON
GPIO, 12,1 //  SPOT ON
else
GPIO, 13,0 // LAMPE OFF
GPIO, 12,0 //  SPOT OFF
endif
endon

// EVENT JEEDOM
on lampes_on do
GPIO, 13,1 //  LAMPE On
endon

on lampes_off do
GPIO, 13,0 // LAMPE Off
endon

on spot_on do
GPIO, 12,1 //  SPOT On
endon

on spot_off do
GPIO, 12,0 // SPOT Off
endon

Merci Ajja, pour ces exemples!

J’ai comme tu le montre, un device (par GPIO donc 4) « switch input » pour remonter l’état, ça fonctionne d’ailleurs très bien.
Je bascule le GPIO avec une requête HTTP, pas de souci ça fonctionne également, et j’ai bien la remonté par le switch (ci dessus).

Je pense qu’une simplification peut venir des requêtes, là j’ai 4 « équipement » script (1 par relai) pour 4 requêtes différentes. Si je met les 4 dans un seul équipement, ça fout un bordel pas possible.
Ou encore dans mon virtuel…

Dans l’absolu, j’aurai pu imaginer ds espeasy un device « switch output » avec les logiques nécéssaires et remontée d’état, qui aurait pu être implémenté ds le plug in, et donc plutôt qu’une usine à gaz il y aurait un équipement « simple ».

[edit] j’avais pas vu ton second exemple, je prend bien note des rules! je n’ai pas encore exploré ça sur espeasy! merci

Est ce que tu pourrais détailler :

// EVENT JEEDOM
on lampes_on do

Tu envois de jeedom qque chose? Là il y a un truc intéressant!

Allez un peut de hors sujet
Vous avez l’air de bien vous prendre la tête avec toutes ces boites a outils
ne serait t’il pas plus simple d’appendre a coder les ESP en micropython pas exemple.
Pour faire exactement ce dont vous avez besoin sans passer par des esppaseasy et des plugins payant …

je crois que je vais devoir faire un tuto sur ce sujet …

Merci Ajja!!! je crois bien que c’est ça. Je fait mes tests et reviens mettre le bouton solution dès que j’ai un peu de temps cette semaine…

:+1::+1::+1:

Je prend tout ce qui peut m’instruire, faut juste trouver du temps pour l’apprentissage.

Espeasy c’est la facilité pou rne pas dev un solution sur mesure, mais from scratch avec arduino (suis pas du métier, je réapprends à chaque fois)

l’intérêt c’est inutile de démonté, apprendre un autre language et de mon temps le plug était gratuit.

toujours gratuit!

tu peux aller très loin avec les rules
ex mon compteur eau

1 « J'aime »

Merci, j’irai jeter un oeil!

Pas du tout d’accord. Déjà, ESP Easy n’est pas payant et pour l’intégrer sur Jeedom il suffit d’utiliser les plugins MQTT (ou jMQTT).
Entre flasher un firmware déjà compilé puis juste configurer depuis une interface web et partir de zéro en codant tout (gestion du wifi, du capteur, de la remontée d’information, etc.) il y a un monde.

Oui, les rules permettent d’aller assez loin pour faire « presque » tout ce que l’on veut.

En utilisant MQTT pour remonter l’information, je trouve que cela simplifie beaucoup. Il suffit d’installer le plugin et de définir un controller adéquat dans ESP Easy, et l’équipement sera créé automatiquement. Plus qu’à ajouter les commandes. Voici un exemple avec le plugin MQTT :

Ne me fait pas dire ce que je n’ai pas dit (je n’ai pas dit que espeasy était payant).

Et allons y on rajoute une couche J ou MQTT mais pourquoi faire un esp est capable d’envoyer et de recevoir des messages … un jeedom aussi alors pourquoi rajouter 50 couches entre les 2 tout ca pour la gestion de 3 boutons et 4 relais …

La gestion du wifi mdr ca se fait en 2 lignes :

# ACTIVATION WIFI CLIENT
WLAN(STA_IF).active(1)
WLAN(STA_IF).connect(reseau, mot_de_passe)

Bon je vais pas plus loin je ne suis qu’un intrus dans ce fil.

1 « J'aime »

tu n’es si hors sujet que ça
un jour quelqu’un lira ta réponse (et ça peut être moi) pour une solution à un soucis et ton intrusion pourra être la solution.
l’avantage esp easy c’est genre ton module dans le fond plafond de ta vmc, dans le caisson vr ou les screen que j’ai mis j’ai jamais touché physiquement les équipements alors que les rules ça oui.

Lorsque une fois implanté Micropython dans un ESP tu peu gère ton code a distance. comme avec easyesp tu a une page web qui en gros est une console dans laquel tu peut même tester du code en direct et ou envoyer / recevoir des fichier pour modifier a distance le code de ton esp comme tu le fait avec celui du pladond de ta vmc.
c’est l’option webrepl MicroPython WebREPL

je revote pour un tuto (ou série de) :wink:, autant voir toutes les solutions possibles et choisir la mieux adaptée à chaque projet!

Je sais pas quand car il faut un peut de temps de préparation mais ca va le faire bientôt.

1 « J'aime »

C’est sur que micropython ! C’est vachement plus simple qu’ ESPEasy a utiliser.
Mais un tuto micropython… pourquoi pas !
Pour en venir au premier post, je me demande comment certains arrivent à ce mettre dans une telle galère?