======ESP Easy====== [[https://espeasy.readthedocs.io/en/latest/]] Permet de flasher des ESP pour gérer toutes sortes de capteurs. =====Liens===== * [[https://github.com/Grovkillen/ESP_Easy_Flasher/releases|Lien de téléchargement d'EspFlasher]] * [[https://nils.laumaille.fr/posts/informatique/esp8266-flasher/|Flasher ESPeasy]] sur laumaille.fr * [[https://nils.laumaille.fr/posts/informatique/esp8266-parametrer/|Configurer ESPeasy]] * [[https://nils.laumaille.fr/posts/informatique/esp8266-jeedom/|Inclure dans Jeedom]] * [[https://opendomotech.com/creer-des-objets-connectes-esp-easy/|Tuto de présentation]] sur OpenDomotech (OLD ?) * [[https://opendomotech.com/sonnette-connectee-jeedom-esp-easy/|Bouton sonnette]] * [[https://opendomotech.com/capteur-distance-esp-easy-jeedom/|Mesure de distance]] * [[https://opendomotech.com/chauffe-eau-jeedom-esp-easy/|Gestion chauffe eau]] =====Flashage et intégration de l'ESP===== J'ai suivi les 2 tutos de laumaille.fr (les plus récents) et utilisé la dernière version disponible (ESPEasy_mega_20241222_ESP82xx_binaries.zip) pour mettre en place le firmware (ESP_Easy_mega_20241222_normal_ESP8266_4M1M.bin). ===Access Point=== * SSID : nom du firmware utilisé * CLE : néant sur les dernières versions (sinon configesp) * IP : 192.168.4.1 ces 3 paramètres pourront être modifiés pour protéger un accès ultérieur ===Intégration dans le réseau (Config)=== * Changement de nom pour identifier le capteur parmi plusieurs. J'utilise l'adresse MAC en hexadécimal. (ESP Chip ID -> Main - More infos - ESP board) * Mise en place du wifi (2 SSID possibles, un principal et un alternatif) Pour retourner en AP en présence d'un SISID, il est nécessaire d'effacer les paramètres réseau saisies. ===Utilisation d'un serveur de temps (Tools - Advanced Settings - Time Source)=== * Mise en place du NTP (0.pool.ntp.org) * Mise en place des locales (UTC+60mn, 44.099178,3.065800) =====Configuration===== ====WatchDog (Config - Sleep Mode)==== * Sleep awake time : reste éveillé pendant x s * Sleep time : s'endort pendant y s * D0/GPIO-16 (timer Sleep Time) doit être connecté à RST pour le réveil périodique. Réveil manuel : * Reset alimentation = 30 s pour se connecter au WiFi et enlever le Sleep Mode * Reset = courte impulsion RST à 0. Ne pas laisser RST à l'état bas (blocage) ====Contrôleurs==== Le contrôleur est le serveur vers lequel remonte l'info (Jeedom, perso ...). \\ ===Généric HTTP=== Mode GET, **un seul device remonte à la fois.** (nécessite un serveur REST local) * Adresse IP (ou host) et port * Controller Publish : URL et paramètres (Tools - System variables) J'utilise pour Publish : rest/ESPeasy.php?id=%mac_int%&ip=%ip%&dev=%tskname%&%vname1%=%val1%&%vname2%=%val2%& %vname3%=%val3%&%vname4%=%val4% \\ qui permet de récupérer les 4 valeurs possibles d'un contrôleur en plus de l'ID et de l'IP locale du capteur. Le serveur REST utilisé génère un fichier JSON "Espeasy_id_dev.json" contenant les 4 valeurs transmises et les 2 infos. ===Pour Jeedom=== * Port : 8121 * Controller Publish : device=%sysname%&taskid=%id%&cmd=%valname%&value=%value% ====Device==== Il s'agit d'un capteur (device = %tskname%). Il est nécessaire de : * Définir sa configuration et le valider * Valider le contrôleur qui recevra l'information * Définir le délai de mise à jour ===Generic - System Info=== Permet de remonter certaines informations systèmes de l'ESP. Note : certaines peuvent être directement remontées par le Contrôleur : %ip%, %mac_int%, temps interne ... ===Generic Dummy device=== Capteur virtuel pour retour d'info. Mis à jour dans une rules avec la commande : TaskValueSet,#Task#,#Value#,%Val% ====Rules==== Permet d'effectuer des traitements en interne sur l'ESP (code de programation) ===Commandes=== Les [[https://espeasy.readthedocs.io/en/latest/Reference/Command.html|commandes]] peuvent être exécutées dans les Rules mais aussi par des requêtes HTTP. Pour demander au capteur (IP) de modifier la valeur de la variable 1 (%v1% dans une Rules) à 1200 \\ http://ipcapteur/control?cmd=Let,1,1200