[Plugin CozyTouch] Chauffe-eau : isheating ne raffraichit pas

Bonjour,

J’ai fraichement installé le plugin CozyTouch, merci beaucoup pour le travail car l’application d’Atlantic ne sert vraiment pas à grand chose pour voir les données !

J’ai un chauffe-eau thermodynamique Atlantic.
Jeedom v4.0.61

Problème découvert : apparemment le refresh_isheating ne se fait pas.

J’ai regardé dans le fichier CozytouchAtlanticHotWater.class et on a bien en principe l’enchainement :
refresh_boost
refresh_isheating
refresh_hotwatercoeff
refresh_thermostat

Mais dans les logs en debug :

[2021-01-06 08:30:08][DEBUG] : Refresh info : 1692d85a-addc-47f0-bc57-683a02e12c50
[2021-01-06 08:30:08][DEBUG] : Refresh boost
[2021-01-06 08:30:08][DEBUG] : Boost : 0(0)
[2021-01-06 08:30:08][DEBUG] : Calcul proportion d eau chaude
[2021-01-06 08:30:08][DEBUG] : Calcul proportion d eau chaude : 100.25316455696
[2021-01-06 08:30:08][DEBUG] : Refresh thermostat
[2021-01-06 08:30:08][INFO] : Temp 54.5

La commande info a bien été crée :

Merci par avance pour le debug :slight_smile:

Salut, j’ai avancé un peu.

Voila ce que l’on a dans : plugins/cozytouch/core/class/CozyTouchManager.class.php

	public static function syncWithCozyTouch() 
				case CozyTouchDeviceToDisplay::CTDTD_ATLANTICHOTWATERSPLIT:
				case CozyTouchDeviceToDisplay::CTDTD_ATLANTICHOTWATERCETHIV4 :
					CozytouchAtlanticHotWater::BuildEqLogic($device);
					break;


    public static function refresh_all()
					if (is_object($eqLogicTmp)) {
					$device_type = $eqLogicTmp->getConfiguration('device_model');
                 	log::add('cozytouch','debug','->device_type : '.$device_type); // Ajout Bison le 10/01/2021
					$attached_device = $eqLogicTmp->getConfiguration('attached_device');
					
						case CozyTouchDeviceToDisplay::CTDTD_ATLANTICHOTWATERSPLIT:
                        	log::add('cozytouch','debug','->CTDTD_ATLANTICHOTWATERSPLIT'); // Ajout Bison le 10/01/2021
						case CozyTouchDeviceToDisplay::CTDTD_ATLANTICHOTWATERCETHIV4 :
                        	log::add('cozytouch','debug','->CTDTD_ATLANTICHOTWATERCETHIV4'); // Ajout Bison le 10/01/2021
                        	CozytouchAtlanticHotWater::refresh_isheating($eqLogicTmp); // Ajout Bison le 10/01/2021
							CozytouchAtlanticHotWater::refresh_boost($eqLogicTmp);
							CozytouchAtlanticHotWater::refresh_hotwatercoeff($eqLogicTmp);
							CozytouchAtlanticHotWater::refresh_thermostat($eqLogicTmp);

Dans les logs en debug je vois :
->device_type : io:AtlanticDomesticHotWaterProductionV2_SPLIT_IOComponent
->CTDTD_ATLANTICHOTWATERSPLIT
->CTDTD_ATLANTICHOTWATERCETHIV4

Ce qui signifie qu’il voit que j’ai un modèle de type io:AtlanticDomesticHotWaterProductionV2_SPLIT_IOComponent

Ce que je ne comprends pas c’est pourquoi il passe par 2 case CTDTD_ATLANTICHOTWATERSPLIT et CTDTD_ATLANTICHOTWATERCETHIV4 alors que dans le fichier plugins/cozytouch/3rdparty/cozytouch/constants/CozyTouchConstants.class la distinction semble claire :

	const CTDTD_ATLANTICHOTWATERSPLIT ="io:AtlanticDomesticHotWaterProductionV2_SPLIT_IOComponent";
	const CTDTD_ATLANTICHOTWATERCETHIV4 ="io:AtlanticDomesticHotWaterProductionV2_CETHI_V4_IOComponent";

Du coup pour régler le problème de refresh j’ai ajouté cette ligne dans le fichier plugins/cozytouch/core/class/CozyTouchManager.class.php :

CozytouchAtlanticHotWater::refresh_isheating($eqLogicTmp); // Ajout Bison le 10/01/2021

dans le

case CozyTouchDeviceToDisplay::CTDTD_ATLANTICHOTWATERCETHIV4 :

Donc il doit y avoir un soucis quelque par. Mon chauffe-eau étant un thermodynamique SPLIT je pense qu’il devrait n’avoir que la constante CTDTD_ATLANTICHOTWATERSPLIT et donc passer par le case adéquat. Il faudra dans ce cas rajouter le passage par les fonctions de refresh qui vont bien.

EDIT : finalement ça passe bien par is_heating mais l’information n’est pas correctement récupérée malheuresement donc ça ne marche pas.

[2021-01-10 15:00:06][DEBUG] : Refresh is heating
[2021-01-10 15:00:06][DEBUG] : Heating : 0

Je tente donc un appel à @geoblack

Merci :grinning:

Je regarde ce soir ou demain.
mais dans un switch case, le code va une fois entrer dans un case jusqu’à l’instruction break suivante (même si cette instruction est dans un case suivant).
donc avec le code affiché il est normal d’avoir (il manque un break; dans le case CozyTouchDeviceToDisplay::CTDTD_ATLANTICHOTWATERSPLIT

->device_type : io:AtlanticDomesticHotWaterProductionV2_SPLIT_IOComponent
->CTDTD_ATLANTICHOTWATERSPLIT
->CTDTD_ATLANTICHOTWATERCETHIV4

Merci pour ton retour, je ne savais pas qu’il prenait le case jusqu’au break.

J’ai du ajouté quelque part une variable pour indiquer les 55°c afin que le calcul et l’affichage de la couleur du ballon soit correct.

Le plugin n’arrive pas à récupérer le thermostat alors qu’il est bien dans une des commandes.

Je me demandai au final si ce chauffe eau était bien pris en charge. J’ai vu souvent que tu avais dû récupérer les codes des gens pour intégrer le modèle correctement.

J’ai 2 erreur lors de la découverte par exemple. Il y a peut-être des choses intéressantes dedans et que le plugin ne sait pas interpréter ?

je pense que j’ai corrigé le retour d’état de chauffe.
Par contre, pour le thermostat cela ne peut fonctionner que si le ballon est en mode manuel.
Pour les erreurs et pour l’histoire de la couleur du ballon il faut que je teste dans un environnement de debug. (Je fais cela d’ici la fin de la semaine)

Extra.

Que veux tu dire à propos du thermostat ? Pour changer sa température via le slider ? Oui j’avais bien compris si c’est ça dont tu parles, que ça ne pouvait pas agir en mode automatique.

Par contre effectivement il y a un hic sur le calcul pour la couleur du ballon car il n’arrive pas à récupérer la température de consigne alors qu’elle existe dans une commande. J’ai pas réussi à part en forçant à 55°c via une variable.

Salut @geoblack je vois une nouvelle version du 2021-01-22 01:15:32
Elle intègre le correctif que tu as fais pour mon chauffe eau ? Je peux la tester ?

Edit : j’ai fais la mise à jour mais ça semble pas bon

Je vois que la commande « Temp. Cible » a maintenant bien une valeur mais elle est de 52°c et non plus à 55°c comme ça doit être le cas en automatique d’après la doc. Curieux !?
En revanche, du coup, le pourcentage d’eau chaude a bien l’air calculé à partir de cette valeur :slight_smile:

Par contre je ne vois pas d’amélioration sur la partie is_heating car il est actuellement en chauffe (voir la puissance qui passe sur un tore) mais le plugin ne le détecte pas.

image

[2021-01-25 18:50:16][DEBUG] : Refresh is heating
[2021-01-25 18:50:16][DEBUG] : Heating : 0
[2021-01-25 18:50:16][DEBUG] : Refresh boost
[2021-01-25 18:50:16][DEBUG] : Boost : 0(0)
[2021-01-25 18:50:16][DEBUG] : Calcul proportion d eau chaude
[2021-01-25 18:50:16][DEBUG] : Calcul proportion d eau chaude : 83.783783783784
[2021-01-25 18:50:16][DEBUG] : Refresh thermostat
[2021-01-25 18:50:16][INFO] : Temp 52

image

Une idée ?

Bonjour @Bison
L’idée n’est pas de pourrir ton post de debug. J’essaye de comprendre commet ça fonctionne.
J’ai un CE Atlantic Monobloc calypso. JE viens de brancher le cozytouch et installé le plugin. Il y a plusieurs informations utiles mais pas la principale : est-il possible de récupérer la quantité d’eau chaude consommée ?
J’ai une info sur l’appli avec des bâtons de couleurs mais aucun chiffre, mais cette info m’a l’air erronée. Peu-t-on via le plug in récupéré une info fiable ?
A quoi correspondent les commandes :

  • Proportion eau chaude
  • Volume d’eau à 40
    Merci !

Salut,

La quantité d’eau chaude consommée n’a pas l’air transmise par l’appareil du coup le plugin ne peut pas le récupèrer.

En revanche le plugin peut récupérer la température de l’eau et du coup le plugin calcul la proportion d’eau chaude restante par rapport à la température de consigne.

Je n’ai pas la quantité d’eau à 40°c mais si tu l’as c’est bien. C’est une donnée constructeur car quand on tire de l’eau chaude elle est plus proche de 40°c que de 55 ou 60. Ça donne donc une bonne idée de la vraie quantité d’eau chaude que va pouvoir fournir le chauffe-eau.

Pour connaître ta consommation il faut mettre en place un système de comptage en passant par exemple par un compteur Gioanola.

Merci pour ces explications. J’ai effectivement le volume d’eau à 40°, ca indique 5361…va sa voir ce que ca indique. Je vais historiser la commande pour étudier l’évolution des chiffres.
Je demandais ça car dans l’appli, j’ai un graphique en barre indiquant ma consommation journalière mais il n’y a aucune données chiffrées. Je me doutais bien que ces infos étaient vaguement calculée en fonction de la t° du ballon.

En effet 5361 c’est difficilement interprétable ! 536,1 peut être.
C’est un chauffe eau de combien de litres ?

250L ,je suis maintenant, 15 minutes plus tard à 5396. haha mystère :wink:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.