Utilisation d'un capteur magnétique dans ESPHome

*Bonjour à tous,

Ma cafetière Senseo ayant rendu l’âme, j’ai décidé de récupérer les pièces à l’intérieur, dont les petits capteurs magnétiques qui servent à mesurer le niveau de l’eau.
Je les ai branchés à mon Arduino pour voir la valeur qu’ils renvoyaient. Sauf erreur de ma part, ce sont des capteurs analogiques, qui renvoient des valeurs entre 300 et 500 s’ils ne détectent rien et dès que j’approche un aimant, ils renvoient la valeur 0. J’ai tenté de régler le programme en digital inputs, mais ça ne me renvoie que des 0 donc j’en déduis que ça ne fonctionne pas…

Jusqu’ici tout va bien, je décide d’utiliser un de ces capteurs avec un ESP8266 pour faire un capteur d’ouverture pour ma porte de garage (oubliant fréquemment de la fermer…). En gros, je colle le capteur sur un rail de mon garage, un aimant sur la porte et quand elle est ouverte, le statut « ouvert » doit s’afficher dans Home assistant, sinon ce sera le statut fermé.

Du coup j’aimerais utiliser ESPHome pour faire les choses « simplement ». J’ai fouillé quelques heures, mais je n’arrive pas à trouver un capteur supporté qui ferait le boulot. En gros la valeur renvoyée est soit 0, soit autre chose. Il faudrait « convertir » la valeur 0 en « ouvert » et les autres valeurs en « fermé ».

Je débute vraiment avec ESPHome. Auriez vous des conseils à me donner pour me simplifier la vie ou dois-je faire un programme « à la main » ? (Custom Sensor Component — ESPHome)

Merci :slight_smile: *

Si ce sont des basiques interrupteurs magnétiques, je pense qu’il suffit d’utiliser un binary sensor sur GPIO.

Tu peux envoyer une photo du capteur?

Merci pour ta réponse. Je ne suis pas sur que ce soit un bête interrupteur magnétique justement. J’ai tenté ta solution et ça me retourne tout le temps le statut « ouvert », même en mettant un aimant devant donc ça n’a pas l’air de fonctionner…

Voici la photo : Visionneuse images - Noelshack - http://image.noelshack.com/fichiers/2021/48/7/1638717876-img-20211205-162222.jpg

Ok j’ai rien dit ça fonctionne… Et je ne comprends pas comment. J’aime comprendre…

J’ai juste changé la PIN. Au lieu de la 2 (qui correspond à D4 sur l’ESP) j’ai mis la 5 (ce qui correspond à D1 sur l’ESP)…

Quelle est la différence ? Autant l’arduino je maitrise à peu près mais l’ESP8266 bof.

Mais pourquoi dans l’arduino je n’ai jamais réussi à avoir de valeur remontée ? Si c’est un signal digital, j’aurais du avoir HIGH ou LOW non ?