Merci pour le support Flying Domotic !Flying Domotic a écrit : 15 juil. 2024, 14:53 On peut connecter plusieurs clims sur le même serveur MQTT et la même instance de Domoticz (j'en ai 5 chez moi).
...
[Plugin] Climatiseur Mitsubishi (interface série et non MELCloud)
Re: [Plugin] Climatiseur Mitsubishi (interface série et non MELCloud)
Re: [Plugin] Climatiseur Mitsubishi (interface série et non MELCloud)
Merci Masure pour ce travail remarquable qui vaudrait bien un café et à Flying Domotic, grâce à qui j'ai tout compris maintenant, en fait c'est juste que je ne sais pas lire 


Son aide fut infiniment précieuse pour éviter certaines boulettes.
Son aide fut infiniment précieuse pour éviter certaines boulettes.
-
Flying Domotic
- Messages : 772
- Inscription : 10 mars 2020, 15:26
Re: [Plugin] Climatiseur Mitsubishi (interface série et non MELCloud)
L'entraide est généralement présente sur les forums, il parait d'ailleurs que c'est plutôt fait pour ça 
Re: [Plugin] Climatiseur Mitsubishi (interface série et non MELCloud)
Oui, bien sûr, c'est l'évidence mais cela n'empêche pas d'être courtois et reconnaissant du travail des autres 
Re: [Plugin] Climatiseur Mitsubishi (interface série et non MELCloud)
Afin de poursuivre sur ma lancée :
Les climatiseurs MITSUBISHI MSZ-HJ xxxx qui normalement ne sont pas pilotables ne possédant pas de connecteur CN105, le sont finalement.
Après analyse de la doc technique la carte de contrôle comporte un CN105 qui n'est pas monté et sur l'autre face 2 résistances 0603 ne sont pas montées non plus. J'ai donc acheté des connecteurs et désormais je pilote mon MSZ HJ50VA sans souci grâce à un WEMOS mini D1 avec le firmware de Swicago.
Les résistances ; j'ai commencé prudemment avec des 470ohms, ça ne fonctionnait pas je les ai remplacées par des 100ohms et là ça fonctionne parfaitement. ces résistances sont en série dans les connexions Rx et Tx, je suis quasi sûr que si on met un bout de fil donc 0ohms ça fonctionnera aussi bien.
le connecteur c'est une version coudée montée à plat sur le CI c'est un JST 2mm 5 broches référence S05B-PASK-2 Acheté sur Aliexpress :
https://fr.aliexpress.com/item/10050053 ... pt=glo2fra
il n'est pas rouge mais ça fonctionne quand même
J'en ai 9 qui ne me servent à rien
Les climatiseurs MITSUBISHI MSZ-HJ xxxx qui normalement ne sont pas pilotables ne possédant pas de connecteur CN105, le sont finalement.
Après analyse de la doc technique la carte de contrôle comporte un CN105 qui n'est pas monté et sur l'autre face 2 résistances 0603 ne sont pas montées non plus. J'ai donc acheté des connecteurs et désormais je pilote mon MSZ HJ50VA sans souci grâce à un WEMOS mini D1 avec le firmware de Swicago.
Les résistances ; j'ai commencé prudemment avec des 470ohms, ça ne fonctionnait pas je les ai remplacées par des 100ohms et là ça fonctionne parfaitement. ces résistances sont en série dans les connexions Rx et Tx, je suis quasi sûr que si on met un bout de fil donc 0ohms ça fonctionnera aussi bien.
le connecteur c'est une version coudée montée à plat sur le CI c'est un JST 2mm 5 broches référence S05B-PASK-2 Acheté sur Aliexpress :
https://fr.aliexpress.com/item/10050053 ... pt=glo2fra
il n'est pas rouge mais ça fonctionne quand même
J'en ai 9 qui ne me servent à rien
Dernière modification par Dr No le 30 juil. 2024, 10:12, modifié 1 fois.
Re: [Plugin] Climatiseur Mitsubishi (interface série et non MELCloud)
R.A.S. ça a fonctionné parfaitement du premier coup
Re: [Plugin] Climatiseur Mitsubishi (interface série et non MELCloud)
Bonjour à tous,
J'ai malgré tout un petit souci avec le plugin ?!?!
J'utilise une sonde extérieure au climatiseur pour la régulation. Cette sonde est "Home made" ; c'est un ESP32 programmé en python qui envoie via MQTT une information de température de la pièce toutes les 5 minutes. Cela fonctionne parfaitement et Clim-T°Split s'aligne parfaitement sur ma sonde mais le log de Domoticz me renvoie de drôles de choses :
Toutes les 10s et en permanence j'ai ce retour :
Par ailleurs de temps à autre j'ai une erreur :
Malgré cela ça fonctionne très bien mais j'aimerais bien comprendre ce qui se passe et, hélas cela dépasse mes compétences, une petite aide ne serait pas de refus.
Merci d'avance pour vos lumières
J'ai malgré tout un petit souci avec le plugin ?!?!
J'utilise une sonde extérieure au climatiseur pour la régulation. Cette sonde est "Home made" ; c'est un ESP32 programmé en python qui envoie via MQTT une information de température de la pièce toutes les 5 minutes. Cela fonctionne parfaitement et Clim-T°Split s'aligne parfaitement sur ma sonde mais le log de Domoticz me renvoie de drôles de choses :
Toutes les 10s et en permanence j'ai ce retour :
Code : Tout sélectionner
2024-07-29 18:39:43.075 [WebServer] Deprecated RType (devices) for API request. Handled via fallback (getdevices), please use correct API Command! (127.0.0.1)
2024-07-29 18:39:53.061 [WebServer] Deprecated RType (devices) for API request. Handled via fallback (getdevices), please use correct API Command! (127.0.0.1)
2024-07-29 18:40:03.095 [WebServer] Deprecated RType (devices) for API request. Handled via fallback (getdevices), please use correct API Command! (127.0.0.1)
2024-07-29 18:40:13.085 [WebServer] Deprecated RType (devices) for API request. Handled via fallback (getdevices), please use correct API Command! (127.0.0.1)
2024-07-29 18:40:23.064 [WebServer] Deprecated RType (devices) for API request. Handled via fallback (getdevices), please use correct API Command! (127.0.0.1)
2024-07-29 18:40:33.097 [WebServer] Deprecated RType (devices) for API request. Handled via fallback (getdevices), please use correct API Command! (127.0.0.1
Code : Tout sélectionner
2024-07-29 17:00:03.565 File "/home/pi/domoticz/plugins/Domoticz-MitsubishiHpMQTT-Plugin/plugin.py", line 269, in onHeartbeat
2024-07-29 17:00:03.565 self.TrySendRemoteTemp()
2024-07-29 17:00:03.565 File "/home/pi/domoticz/plugins/Domoticz-MitsubishiHpMQTT-Plugin/plugin.py", line 213, in TrySendRemoteTemp
2024-07-29 17:00:03.565 response = urllib.request.urlopen(request, timeout=0.5)
2024-07-29 17:00:03.565 File "/usr/lib/python3.7/urllib/request.py", line 222, in urlopen
2024-07-29 17:00:03.565 return opener.open(url, data, timeout)
2024-07-29 17:00:03.565 File "/usr/lib/python3.7/urllib/request.py", line 525, in open
2024-07-29 17:00:03.565 response = self._open(req, data)
2024-07-29 17:00:03.565 File "/usr/lib/python3.7/urllib/request.py", line 543, in _open
2024-07-29 17:00:03.565 '_open', req)
2024-07-29 17:00:03.565 File "/usr/lib/python3.7/urllib/request.py", line 503, in _call_chain
2024-07-29 17:00:03.565 result = func(*args)
2024-07-29 17:00:03.565 File "/usr/lib/python3.7/urllib/request.py", line 1352, in http_open
2024-07-29 17:00:03.565 return self.do_open(http.client.HTTPConnection, req)
2024-07-29 17:00:03.565 File "/usr/lib/python3.7/urllib/request.py", line 1327, in do_open
2024-07-29 17:00:03.565 r = h.getresponse()
2024-07-29 17:00:03.565 File "/usr/lib/python3.7/http/client.py", line 1356, in getresponse
2024-07-29 17:00:03.565 response.begin()
2024-07-29 17:00:03.565 File "/usr/lib/python3.7/http/client.py", line 319, in begin
2024-07-29 17:00:03.565 version, status, reason = self._read_status()
2024-07-29 17:00:03.565 File "/usr/lib/python3.7/http/client.py", line 280, in _read_status
2024-07-29 17:00:03.565 line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
2024-07-29 17:00:03.565 File "/usr/lib/python3.7/socket.py", line 589, in readinto
2024-07-29 17:00:03.565 return self._sock.recv_into(b)
2024-07-29 17:00:03.565 socket.timeout: timed out
Merci d'avance pour vos lumières
-
Flying Domotic
- Messages : 772
- Inscription : 10 mars 2020, 15:26
Re: [Plugin] Climatiseur Mitsubishi (interface série et non MELCloud)
Bonjour,
En ce qui concerne la première erreur (Deprecated Rtype), elle est causée par un élément qui appelle l'API Domoticz avec des paramètres maintenant obsolètes. En gros, un "truc" appelle l'API avec une syntaxe "/json.htm?type=devices" qui maintenant doit être "/json.htm?type=command¶m=getdevices".
On trouve des détails à https://www.domoticz.com/wiki/Domoticz_API/JSON_URL%27s, paragraphe "Warning Stable 2023.2 (and newer)"
Pour corriger ça, il faut repérer "?type=devices" dans tout ce qui cause avec Domoticz (ça veut dire scripts, modules python, micro contrôleurs externes, ...) et le remplacer par "?type=command¶m=getdevices" à tous ces endroits.
Le souci est souvent d'identifier où/qui génère l'appel (maintenant) incorrect. Si le module modifie quelque chose, on peut s'en sortir en traçant les modification par un script du genre :
Si ça ne fait que lire, c'est plus compliqué ...
Concernant la seconde erreur, à lire le traceback, il se pourrait que l'erreur vienne de ce qu'une connexion ne peut pas être réalisée dans la demi seconde lors d'une tentative de lecture de la température par le plug-in. A priori, ça serait une requête du plug-in Mitsubishi vers Domoticz. Si Domoticz est chargé et ne répond par en 5 dixièmes de seconde, alors on a l'erreur.
La bonne nouvelle, c'est qu'on a trouvé le coupable de l'erreur précédente (Deprecated Rtype), vu qu'on a un appel "'/json.htm?type=devices&rid='" à la ligne 209 (dans la version 1.3 du plug-in, que j'utilise).
La moins bonne nouvelle, c'est qu'il semble que le plug-in n'ait pas été mis à jour depuis 4 ou 5 ans. A priori, pas de fork qui corrigerait le souci.
Du coup, il faudrait faire 2 modifs dans le code original :
1)Ligne 209, remplacer ...
... par ...
... pour corriger le premier problème.
2) Ligne 213, remplacer ...
... par ...
... pour augmenter le timeout d'une demi seconde à une seconde, et donner plus de temps pour éviter la seconde erreur.
Autre détail : si la température est mise à jour par l'ESP toutes les 5 minutes, il faut vérifier que le paramètre "Don't send remote temp after being unseen for X minutes:" du chaque instance du plug-in soit bien supérieur à 5 (sinon, on passera son temps à basculer entre la température extérieure et celle du split). Une meilleure façon de faire serait que l'ESP envoie la température toutes les minutes.
En ce qui concerne la première erreur (Deprecated Rtype), elle est causée par un élément qui appelle l'API Domoticz avec des paramètres maintenant obsolètes. En gros, un "truc" appelle l'API avec une syntaxe "/json.htm?type=devices" qui maintenant doit être "/json.htm?type=command¶m=getdevices".
On trouve des détails à https://www.domoticz.com/wiki/Domoticz_API/JSON_URL%27s, paragraphe "Warning Stable 2023.2 (and newer)"
Pour corriger ça, il faut repérer "?type=devices" dans tout ce qui cause avec Domoticz (ça veut dire scripts, modules python, micro contrôleurs externes, ...) et le remplacer par "?type=command¶m=getdevices" à tous ces endroits.
Le souci est souvent d'identifier où/qui génère l'appel (maintenant) incorrect. Si le module modifie quelque chose, on peut s'en sortir en traçant les modification par un script du genre :
Code : Tout sélectionner
-- Trace device changes to Domoticz's log
commandArray = {}
-- loop through all the changed devices
for deviceName,deviceValue in pairs(devicechanged) do
if otherdevices[deviceName] ~= nil then
print ("Device based event fired on '"..deviceName.."', value '"..tostring(deviceValue).."'");
end
end
return commandArray
Concernant la seconde erreur, à lire le traceback, il se pourrait que l'erreur vienne de ce qu'une connexion ne peut pas être réalisée dans la demi seconde lors d'une tentative de lecture de la température par le plug-in. A priori, ça serait une requête du plug-in Mitsubishi vers Domoticz. Si Domoticz est chargé et ne répond par en 5 dixièmes de seconde, alors on a l'erreur.
La bonne nouvelle, c'est qu'on a trouvé le coupable de l'erreur précédente (Deprecated Rtype), vu qu'on a un appel "'/json.htm?type=devices&rid='" à la ligne 209 (dans la version 1.3 du plug-in, que j'utilise).
La moins bonne nouvelle, c'est qu'il semble que le plug-in n'ait pas été mis à jour depuis 4 ou 5 ans. A priori, pas de fork qui corrigerait le souci.
Du coup, il faudrait faire 2 modifs dans le code original :
1)Ligne 209, remplacer ...
Code : Tout sélectionner
domoticzRemoteTempUrl = self.DomoticzBaseUrl + '/json.htm?type=devices&rid=' + str(self.RemoteTempDeviceId)
Code : Tout sélectionner
domoticzRemoteTempUrl = self.DomoticzBaseUrl + '/json.htm?type=command¶m=getdevices&rid=' + str(self.RemoteTempDeviceId)
2) Ligne 213, remplacer ...
Code : Tout sélectionner
response = urllib.request.urlopen(request, timeout=0.5)Code : Tout sélectionner
response = urllib.request.urlopen(request, timeout=1)Autre détail : si la température est mise à jour par l'ESP toutes les 5 minutes, il faut vérifier que le paramètre "Don't send remote temp after being unseen for X minutes:" du chaque instance du plug-in soit bien supérieur à 5 (sinon, on passera son temps à basculer entre la température extérieure et celle du split). Une meilleure façon de faire serait que l'ESP envoie la température toutes les minutes.
Re: [Plugin] Climatiseur Mitsubishi (interface série et non MELCloud)
Flying Domotic t'es le meilleur !!!!
Je me souviens avoir eu quelques soucis identiques avec quelques un de mes scripts lors d'une mise à jour de Domoticz mais bien que le message me dise quelque chose, je n'ai pas fait le rapprochement. Je viens de faire tes 2 modifs dans le plugin et, désormais, silence radio dans mon log.
C'est super ça fait avancer le schmilblik !!!
Reste à modifier le dépôt Github maintenant, Masurov si tu nous lis ...

Je me souviens avoir eu quelques soucis identiques avec quelques un de mes scripts lors d'une mise à jour de Domoticz mais bien que le message me dise quelque chose, je n'ai pas fait le rapprochement. Je viens de faire tes 2 modifs dans le plugin et, désormais, silence radio dans mon log.
C'est super ça fait avancer le schmilblik !!!
Reste à modifier le dépôt Github maintenant, Masurov si tu nous lis ...
-
Flying Domotic
- Messages : 772
- Inscription : 10 mars 2020, 15:26
Re: [Plugin] Climatiseur Mitsubishi (interface série et non MELCloud)
Attention, si on fait la modif sur GitHub, il faut vérifier dans le plug-in la version de Domoticz pour ne pas casser les anciennes versions, qui ne supportent pas la nouvelle syntaxe.