Lazer Posté(e) le 18 février Auteur Signaler Posté(e) le 18 février Ah oui ESPEasy ça me dit quelque chose, c'est pas tout jeune je crois. Quand Home Assistant est arrivé, ils ont intégré nativement ESPHome qui est issu des mêmes équipes, après son passage ça a un peu balayé tous les anciens projets j'ai l'impression (Tasmota, etc...) Pour le reste, je ne pourrai pas t'aider beaucoup plus... Si tu veux attaquer ESPHome via l'API REST, c'est possible, c'est ce que j'ai utilisé dans la première version de mon QuickApp, mais il y a pas mal de limitations, comme l'absence de mise à jour en temps réel (il faut interroger à intervalle régulier), pas de contrôle de la vitesse du ventilateur (bug non corrigé), ni de l'orientation des ailettes (non prévu à priori). Tu peux t'aider de la doc que tu as peut être déjà : https://esphome.io/web-api/index.html Ce sont de simples requêtes GET et POST. Voici 2 exemples en ligne de commande issus de mes notes pendants mes tests, en supposant que le le composant climate s'appelle split_mitsubshi (configuré dans le fichier YAML envoyé vers l'ESP32 lors de la compilation de ESPHome) : curl "http://1.2.3.4/climate/split_mitsubishi/set?mode=OFF" -X POST --data-raw true curl "http://1.2.3.4/climate/split_mitsubishi/set?target_temperature=20.5" -X POST --data-raw true
micka260 Posté(e) le 18 février Signaler Posté(e) le 18 février Oui beaucoup de projet son resté sur le bas coté avec EspHome D'un coté c'est bien que tout soit uniforme, de l'autre ce serai bien que EspHome soit natif chez toute les solutions domotique... Alors c'est exactement ce que je veux, de simple requête GET et POST, de préférence GET pour le taper direct avec l'URL. Dans mes contrôles je n'ai pas besoin de beaucoup de fonction, juste la température le mode "chauffage & clim", et on/off. La ventilation est gérer directement en automatique sur le split, et pour les retours du split vers jeedom je peux faire une requête toute les 15 min cela ne me dérange pas. Par contre j'ai essayé de taper : http://1.2.3.4/climate/split_mitsubishi/set?mode=OFF Ou http://1.2.3.4/climate/split_mitsubishi/set?target_temperature=20.5 Mais cela me met une page 404 : Cette page du site 192.168.1.x est introuvable Merci pour ton aide !
Lazer Posté(e) le 18 février Auteur Signaler Posté(e) le 18 février Tu as lu la doc ? Parce que c'est indiqué clairement : - GET c'est pour lire - POST pour écrire C'est de l'API REST assez standard.
micka260 Posté(e) le 19 février Signaler Posté(e) le 19 février Oui j'ai lu la doc, mais j'avoue ne pas avoir tout compris ... Que ce soit les GET pour lire ou les post pour écrire rien n'y fait ...
Lazer Posté(e) le 19 février Auteur Signaler Posté(e) le 19 février Commence déjà par les requête de type GET (avec ton navigateur, tout simplement) pour lire le statut du module. Si ça ne répond pas, c'est peut être parce que tu n'as pas saisis le bon nom de ton composant Climate, comme dit plus haut, ça se configure dans le fichier YAML.
micka260 Posté(e) le 19 février Signaler Posté(e) le 19 février (modifié) Bon déjà : http://192.168.1.80/climate/split_room/ ça fonctionne : J'ai ça en retour : {"id":"climate-split_room","mode":"OFF","max_temp":"31.0","min_temp":"16.0","step":0.5,"action":"OFF","state":"OFF","fan_mode":"OFF","swing_mode":"OFF","current_temperature":"NA","target_temperature":"21.0"} EDIT : Pour faire un post voici la commande : curl "http://192.168.1.80/climate/split_room/set?target_temperature=25" -X POST --data-raw true Modifié le 19 février par micka260
micka260 Posté(e) le 19 février Signaler Posté(e) le 19 février (modifié) Du coup voici les POST : Changement de température : curl "http://192.168.1.80/climate/split_room/set?target_temperature=23" -X POST --data-raw true Changement de mode : curl "http://192.168.1.80/climate/split_room/set?mode=HEAT" -X POST --data-raw true curl "http://192.168.1.80/climate/split_room/set?mode=COOL" -X POST --data-raw true curl "http://192.168.1.80/climate/split_room/set?mode=OFF" -X POST --data-raw true Reste à arriver à intégrer les GET et POST dans Jeedom maintenant mais tu m'as bien assez aidé comme ça ! Je vais aller voir sur le forum Jeedom pour voir comment faire cela, et bien sur je viendrais mettre la solution ici Pour la récupération des informations en GET c'était facile, c'est un fichier JSON Modifié le 19 février par micka260 1
micka260 Posté(e) le 19 février Signaler Posté(e) le 19 février Tout fonctionne très bien en POST et GET sous Jeedom Voici la configuration :
micka260 Posté(e) le 19 février Signaler Posté(e) le 19 février (modifié) Alors pour l'intégration dans Jeedom : Il y a la solution via MQTT qui j'ai écartés car elle nécessite de re programmer les modules. La solution retenu est via des commandes GET pour la récupération des informations et des commandes POST pour l'envoie des requetes. Les fichiers de configuration de l'ESP sont ceux utilisées dans le TUTO précédemment au Chapitre 3 : mitsubishi-room.yaml secrets.yaml Une fois vos modules configuré j'ai fixé l'adresse IP dans le DHCP, dans mon cas : 192.168.1.80 Une fois que vous êtes ici vous pouvez suivre ce qu'il suit pour l'intégration a Jeedom : Il ne faut pas tenir compte du nom : mitsubishi-salon, mais bien du nom Split Room pour configurer les commandes. Vous pouvez donc aller à cette adresse : http://192.168.1.80/climate/split_room Qui vous donne un fichier JSON Dans mon cas : {"id":"climate-split_room","mode":"OFF","max_temp":"31.0","min_temp":"16.0","step":0.5,"action":"OFF","state":"OFF","fan_mode":"OFF","swing_mode":"OFF","current_temperature":"NA","target_temperature":"nan"} Il est important de comprendre qu'ici il s'agit des informations du panneau de contrôle dans un fichier JSON pour la suite. Ensuite pour les commandes nous allons utiliser les commande POST. La commande s'écrit ainsi : curl "http://192.168.1.80/climate/split_room/set?CeQuOnVeuxModifier=Valeur" -X POST --data-raw true Pour modifier la température à 25°C : curl "http://192.168.1.80/climate/split_room/set?target_temperature=25" -X POST --data-raw true Pour modifier le mode de fonctionnement : curl "http://192.168.1.80/climate/split_room/set?mode=COOL" -X POST --data-raw true Prendre les "nom" dans le fichier JSON et forcer la valeur par le POST On passe à Jeedom : Sous Jeedom vous allez avoir besoin de deux Plugin, Script et Virtuel On va commencer par créer un virtuel qui nous permettra d'avoir un curseur pour le réglage de la température : Créer votre virtuel ainsi : Ce virtuel n'a pour but que d'avoir une valeur sous forme de curseur, plus facilement exploitable par la suite. Nous allons maintenant créer le Script dans le plugin Script : La récupération sur le JSON se fera ainsi : Pour les POST nous allons les mettre dans le même virtuel : Seul le POST de la température demande d'avoir un lien avec le virtuel que nous venons de créer : Ce qui nous donne une configuration complète du script ainsi : Il ne reste plus qu'a fait un petit Scénario qui permet d'envoyer la commande de la consigne lorsque nous modifions la valeur sur le curseur : Dans le déclencheur ce sera la modification de la valeur de notre virtuel : Et dans l'action, l'envoie de la commande de la consigne sur le Script : Je remercie tout ceux qui m'on aidé pour arriver à ce résultat, ici et sur le forum officiel Jeedom également Modifié le 19 février par micka260 1
Lazer Posté(e) le 19 février Auteur Signaler Posté(e) le 19 février Magnifique, merci pour le tuto Jeedom bien complet
henri-allauch Posté(e) le 23 février Signaler Posté(e) le 23 février (modifié) Pour éviter d'arrêter la machine maintenant : 1- J'ai récupéré ce connecteur sur une ancienne pac Ajtech Est ce que la taille du connecteur semble-être correcte (épaisseur environ 4mm, largeur 10mm, profondeur 8mm) Les couleurs de fils semblent ne pas être en bonne place, mais je vais en souder d'autres quelques cm après le connecteur) 2-Pour l'installation et configuration de ESPHome sur le module ESP32 Est-on obligé de faire avec le module connecté au port CN105, ou peut-on le faire sur table connecté en usb sur une machine (Windows ou Linux) en simulant l'alim envoyé par le connecteur CN105. Autrement dit sans le TXD et RXD . Modifié le 23 février par henri-allauch
Lazer Posté(e) le 23 février Auteur Signaler Posté(e) le 23 février Sur la première page il y a la référence du connecteur officiel "PAP-05V-S", et le PDF des spécifications complètes en téléchargement, dont voici un extrait : Si tu as un pied à coulisse tu peux vérifier si ça correspond exactement à ton connecteur, notamment pour sa largeur qu'on n'arrive pas à deviner sur la photo. Pour la correspondance des couleurs c'est pas trop grave, l'important est de s'y retrouver. Mais normalement, avec une petite pointe, tu peux déclipser les contacts métalliques pour les sortir du boitier en plastique blanc, puis les réinsérer dans l'ordre désiré. 1
henri-allauch Posté(e) le 23 février Signaler Posté(e) le 23 février Merci J'avais vu les côtes des pinoches mais pas celles du connecteur. Je viens de vérifier avec un pied à coulisse et ça correspond. As tu un avis pour ma deuxième question (installation EspHome)?
Lazer Posté(e) le 23 février Auteur Signaler Posté(e) le 23 février Désolé j'ai oublié de répondre à la seconde question. Bien sûr, tu peux faire toute la config avec l'ESP32 attaché et alimenté en USB par le PC. De toute façon lors de la première compilation du programme, pour l'envoyer sur l'ESP32, il doit obligatoirement être connecté en USB au PC, et c'est bien par ce port qu'il va tirer son alimentation (en 5V) 1
henri-allauch Posté(e) le 23 février Signaler Posté(e) le 23 février (modifié) Bon sous linux c'est un peu different pour installer esphome . je ferais une trace complète quand cela fonctionnera . tout à l'air OK jusqu'a 17:27:33 [17:22:42][C][wifi:577]: WiFi: [17:22:42][C][wifi:409]: Local MAC: E4:65:B8:71:34:1C [17:22:42][C][wifi:414]: SSID: 'XXXXX' [17:22:42][C][wifi:415]: IP Address: 192.168.1.120 [17:22:42][C][wifi:417]: BSSID: 2C:08:23:3F:49:52 [17:22:42][C][wifi:418]: Hostname: 'test' 17:22:42][C][wifi:425]: Subnet: 255.255.255.0 [17:22:42][C][wifi:426]: Gateway: 192.168.1.1 [17:22:42][C][wifi:427]: DNS1: 192.168.1.1 [17:22:42][C][wifi:428]: DNS2: 0.0.0.0 [17:22:42][C][logger:447]: Logger: [17:22:42][C][logger:448]: Level: DEBUG [17:22:42][C][logger:449]: Log Baud Rate: 115200 [17:22:42][C][logger:451]: Hardware UART: UART0 [17:22:42][C][captive_portal:088]: Captive Portal: [17:22:42][C][mdns:115]: mDNS: [17:22:42][C][mdns:116]: Hostname: test [17:22:43][C][ota:096]: Over-The-Air Updates: [17:22:43][C][ota:097]: Address: test.local:3232 [17:22:43][C][ota:100]: Using Password. [17:22:43][C][ota:103]: OTA version: 2. [17:22:43][C][api:139]: API Server: [17:22:43][C][api:140]: Address: test.local:6053 [17:22:43][C][api:144]: Using noise encryption: NO c[17:27:33][ota:117]: Boot seems successful, resetting boot loop counter.[17:27:33][D][esp32.preferences:114]: Saving 1 preferences to flash...[17:27:33][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed A ce niveau le Ping sur sur 192.168.1.120 c'est OK Ça attend 10 minutes puis [17:37:42][E][api:128]: No client connected to API. Rebooting...[17:37:42][app:127]: Forcing a reboot...[17:37:42][W][wifi_esp32:458]: Event: Disconnected ssid='RWLB6M' bssid=2C:08:23:3F:49:52 reason='Association Leave'[17:37:42]ets Jul 29 2019 12:21:46[17:37:42] Et cela recommence 10 minute puis Boot ... Donc la partie Test ne se termine pas ??? No client connected to API. Rebooting... C'est la fin normale du TEST ? Modifié le 23 février par henri-allauch
Lazer Posté(e) le 23 février Auteur Signaler Posté(e) le 23 février (modifié) Le reboot est normal, car dans le YAML, l'API native est activée, donc il s'attend à une connexion. Dans ton cas, tant que tu ne connectes pas le QuickApp sur ton module (ce que tu peux faire même sans être connecté au port CN105), le module rebootera à intervalle régulier avec le message "No client connected to API. Rebooting..." C'est une sorte de watchdog intégré, les développeurs d'ESPHome ont pensé à tout Modifié le 23 février par Lazer
henri-allauch Posté(e) le 23 février Signaler Posté(e) le 23 février Ah OK merci ... je vais continuer au delà de la partie TEST .. Donc pour installer esphome sur linux ubuntu 22.04 J'ai suivi : https://esphome.io/guides/installing_esphome.html --Version de Python henri@maclinux:~$ python3 --version Python 3.10.12 --Install the python3-venv henri@maclinux:~$ sudo apt install python3.10-venv -- Création d'un environnement virtuel pour ESPHome et ses dépendances henri@maclinux:~$ python3 -m venv venv henri@maclinux:~$ source venv/bin/activate (venv) henri@maclinux:~$ --Install esphome (venv) henri@maclinux:~$ pip3 install esphome --Version esphome (/home/henri/venv/bin/esphome version) (venv) henri@maclinux:~$ esphome version Version: 2024.2.0 ---To set this permanently, you can run echo 'export PATH=$PATH:$HOME/.local/bin' >> $HOME/.bashrc, then log out and back in. je n'ai pas dans la précipitation créée un répertoire pour esphome comme le précise ta méthode ( mais je rangerai cela ) Donc pour le moment test.yaml est naturellement présent sur ma home directory ainsi q'un repertoire venv ( Virtual environnent) contient dans bin esphome (venv) henri@maclinux:~$ esphome wizard test.yaml Hi there! I'm the wizard of ESPHome And I'm here to help you get started with ESPHome. In 4 steps I'm going to guide you through creating a basic configuration file for your custom firmware. Yay! ============= STEP 1 ============= ET ici cela démarre comme décrit au début de tes explications 1
henri-allauch Posté(e) le 24 février Signaler Posté(e) le 24 février Pour installer le mitsubishi-salon.yam il m'a simplement fallu ajouter le Paquet git Puis la commande esphome run mitsubishi-salon.yaml est passée La seule Erreur : [10:49:43][C][MitsubishiHeatPump:467]: Connection to HeatPump failed. Marking MitsubishiHeatPump component as failed. [10:49:43][E][component:113]: Component esphome.coroutine was marked as failed. [10:49:43][MitsubishiHeatPump:063]: ESPHome MitsubishiHeatPump version 2.4.1 Mais ça a l'air OK L'accès par un navigateur est OK et le QuickApp semble en attente -- Normal l'ESP32 n'est pas dans le Split La trace : [24.02.2024] [11:01:55] [TRACE] [QA_MITSUBISHI_141]: QuickApp Mitsubishi v2.00 - Initialization - Parent device [24.02.2024] [11:01:55] [TRACE] [QA_MITSUBISHI_141]: [24.02.2024] [11:01:55] [DEBUG] [QA_MITSUBISHI_141]: Using tools library v2.30 [24.02.2024] [11:01:55] [DEBUG] [QA_MITSUBISHI_141]: Using ESPHome library v2.00 [24.02.2024] [11:01:56] [DEBUG] [QA_MITSUBISHI_141]: ESPHome library v2.00 successfully initialized [24.02.2024] [11:01:56] [TRACE] [QA_MITSUBISHI_141]: Add "thermostatFanMode" interface to device [24.02.2024] [11:01:56] [TRACE] [QA_MITSUBISHI_141]: [24.02.2024] [11:01:56] [TRACE] [QA_MITSUBISHI_141]: QuickApp Mitsubishi v2.00 - Initialization - Parent device [24.02.2024] [11:01:56] [TRACE] [QA_MITSUBISHI_141]: [24.02.2024] [11:01:56] [DEBUG] [QA_MITSUBISHI_141]: Using tools library v2.30 [24.02.2024] [11:01:56] [DEBUG] [QA_MITSUBISHI_141]: Using ESPHome library v2.00 [24.02.2024] [11:01:56] [DEBUG] [QA_MITSUBISHI_141]: ESPHome library v2.00 successfully initialized [24.02.2024] [11:01:56] [DEBUG] [QA_MITSUBISHI_141]: ESPHome URL : tcp://192.168.1.99:6053 [24.02.2024] [11:01:56] [DEBUG] [QA_MITSUBISHI_141]: Refresh interval : 60 seconds [24.02.2024] [11:01:56] [DEBUG] [QA_MITSUBISHI_141]: Using internal temperature sensor [24.02.2024] [11:02:00] [DEBUG] [QA_MITSUBISHI_141]: Found mitsubishi-salon ESPHome 2024.2.0 running on Espressif wemos_d1_mini32 [24.02.2024] [11:02:01] [DEBUG] [QA_MITSUBISHI_141]: Name = Split Salon - Object ID = split_salon - Unique ID = mitsubishi-salonclimatesplit_salon [24.02.2024] [11:02:01] [DEBUG] [QA_MITSUBISHI_141]: Set heatingThermostatSetpointCapabilitiesMax property to 31.0 [24.02.2024] [11:02:01] [DEBUG] [QA_MITSUBISHI_141]: Set coolingThermostatSetpointCapabilitiesMax property to 31.0 [24.02.2024] [11:02:01] [DEBUG] [QA_MITSUBISHI_141]: Set heatingThermostatSetpointCapabilitiesMin property to 16.0 [24.02.2024] [11:02:01] [DEBUG] [QA_MITSUBISHI_141]: Set coolingThermostatSetpointCapabilitiesMin property to 16.0 [24.02.2024] [11:02:01] [DEBUG] [QA_MITSUBISHI_141]: Found user-defined service set_remote_temperature(temperature) [24.02.2024] [11:02:01] [DEBUG] [QA_MITSUBISHI_141]: Found user-defined service use_internal_temperature() [24.02.2024] [11:02:01] [TRACE] [QA_MITSUBISHI_141]: Create child device "Temperature split" of type "com.fibaro.temperatureSensor"... [24.02.2024] [11:02:01] [TRACE] [QA_MITSUBISHI_141]: QuickApp Mitsubishi - Initialization - Child device #143 Temperature split QuickApp [24.02.2024] [11:02:01] [DEBUG] [QA_MITSUBISHI_141]: QuickApp child device #143 "Temperature split" of type "com.fibaro.temperatureSensor" created successfully [24.02.2024] [11:02:03] [TRACE] [QA_MITSUBISHI_141]: Split Salon mode changed from to Off [24.02.2024] [11:02:03] [WARNING] [QA_MITSUBISHI_141]: Split Salon fan mode "Off" not supported Voila un grand merci @Lazer pour ce travail colossal partagé. 1
Rik Bastiaens Posté(e) le 25 février Signaler Posté(e) le 25 février (modifié) Merci @Lazer pour cette description, j'ai réalisé 3 cartes ESP32 :-) Maintenant, je me pose la question de savoir si les différents modes de swing peuvent être ajoutés à la QuickApp ? Ce serait bien :-) Donc le mode swing plus les positions manuelles des verticales et horizontal vanes. Merci, Rik climate: - platform: mitsubishi_heatpump name: ${friendly_name} id: hp horizontal_vane_select: name: Horizontal Vane vertical_vane_select: name: Vertical Vane Modifié le 25 février par Rik Bastiaens
Lazer Posté(e) le 25 février Auteur Signaler Posté(e) le 25 février Comment tu as trouvé la configuration des ailettes horizontales et verticales ? Je n'ai rien vu de tel sur la page du projet : https://github.com/geoffdavis/esphome-mitsubishiheatpump
Rik Bastiaens Posté(e) le 26 février Signaler Posté(e) le 26 février J'ai utilisé ce #issue : https://github.com/geoffdavis/esphome-mitsubishiheatpump/pull/109#issuecomment -1874488841 et je l'ai ajouté au fichier yaml external_components: - source: github://nathanjw/esphome-mitsubishiheatpump@unformat-select mitsubishi.yaml 1
Lazer Posté(e) le 26 février Auteur Signaler Posté(e) le 26 février Génial, merci pour l'info. En revanche je ne vais pas faire la modification du QuickApp tout de suite, j'ai d'autres sujets sur le feu là, mais je garde ça sous le coude. Par ailleurs je vois que ce change n'est pas encore intégré à la branche principale du projet, avec un peu de chance ça le sera bientôt.
Rik Bastiaens Posté(e) le 26 février Signaler Posté(e) le 26 février Merci, je vais devoir être patient :-)
micka260 Posté(e) le 29 février Signaler Posté(e) le 29 février @henri-allauch j'arrive un peu après la guerre, mais dans mon c'est ce que j'ai fais je n'ai toujours rien de connecté sur mes cassettes je suis full USB pour l'alimentation et les tests. (Je n'ai pas encore reçu les connecteurs) Pour les mises a jour du module ESP cela pourra se faire sans débrancher le module et sans passer par la case réinjection USB ? 1
Messages recommandés