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 :
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
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 ...
Code : Tout sélectionner
domoticzRemoteTempUrl = self.DomoticzBaseUrl + '/json.htm?type=devices&rid=' + str(self.RemoteTempDeviceId)
... par ...
Code : Tout sélectionner
domoticzRemoteTempUrl = self.DomoticzBaseUrl + '/json.htm?type=command¶m=getdevices&rid=' + str(self.RemoteTempDeviceId)
... 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.