Intégration radiateurs Intuis connect sans HomeKit

I’m back ! :grin: Après une journée ou deux d’utilisation du flow, je reviens à la charge car je rencontre une limitation. Et je me dis, @Yann0128, que vous devez certainement avoir la même (en l’occurence un historique des jours précédents qui ne correspond pas à celui de l’appli).

Pour info d’abord, mes données de conso radiateurs sont mises à jour sur le serveur Intuis à 1h du matin, 7h du matin, 13h, 19h (et de nouveau 1h du matin, ainsi de suite).

Du coup, je suis bien aligné avec mon appli pour la journée en cours, mais dans mon historique des jours d’avant, je loupe systématiquement la conso de mes radiateurs de 19h à 23h59.

Je m’explique. Pendant la période 19h-23h59, les consos ne sont pas remontées sur le serveur donc je ne peux évidemment pas les récupérer avec le flow. Et à minuit, celui-ci s’intéresse à la nouvelle journée (d’après), et ne reviendra jamais s’intéresser à ce qui s’est passé avant (en l’occurence de 19h à 23h59), contrairement à l’appli Intuis, qui le fera à 1h du matin. Du coup, mon historique des jours d’avant sera systématiquement tronqué de cette période de conso de 19h à 23h59.

Il serait tout à fait possible de faire vivre deux entités de conso pour les radiateurs : la conso du jour, qui reflète ce que l’on voit sur l’appli, avec le flow tel quel. Et une autre qui récupérerait la conso complète de la veille par exemple (une fois que toutes les données ont bien été remontées). Pour cette seconde partie, évidemment, Home Assistant ne permet pas d’envoyer des données « avec retard ». Ce qui fait que j’aurai mes consos « consolidées » du dimanche qui apparaitront le lundi dans mon historique (=au moment où je le renseigne à HA). Avec donc systématiquement une journée de décalage entre mon historique et la vraie vie.

Nous ne sommes pas les seuls à récupérer des données avec retard mais HA ne semble pas faire grand chose de côté-là malheureusement.

Add historic data to Energy dashboard - Feature Requests - Home Assistant Community (home-assistant.io)
Allow sensors to report delayed data - Feature Requests - Home Assistant Community (home-assistant.io)

Domoticz offre la possibilité de le faire avec un « managed counter » par exemple (Domoticz API/JSON URL’s - Domoticz).

J’ai quand même l’impression qu’il y a des choses possibles puisque j’ai un addon « Gazpar 2 mqtt » qui est capable de créer un historique « long-term statistics » de près de 3 ans en récupérant les données du site GRDF mais je ne maitrise pas encore tout (GRDF: Gazpar_2_MQTT).

Est-ce que vous confirmez mon analyse ? Si oui, verriez-vous un (autre) moyen élégant de s’en sortir ?

Merci !

Bonjour,
C’est une sacrée limite et je ne l’avais jamais remarqué (je n’ouvre plus l’appli Intuis).
Le souci technique est qu’on récupère les infos plus régulièrement qu’elles ne sont mises à jour et que dès qu’il y a des données sur 2 jours calendaires ou plus, la consommation se retrouve séparée dans des balises distinctes.
Je vais essayer de bidouiller quelque chose pour répondre à cela dans les prochains jours mais je ne vous promets rien. Ça va être assez galère…

C’est étrange, lorsque je regarde les consommations récupérées de mon côté, j’ai bien des valeurs pour la période 19h-23h59 et c’est à peu près kifkif entre les deux applis :



@Yann0128 , je pense que vous avez surtout la chance d’avoir une dernière mise à jour de vos données sur le serveur juste avant minuit (on voit un dernier palier peu de temps avant de changer de jour), ce qui est juste (presque) parfait ! De mon côté, c’est une heure plus tard, donc le jour d’après… Et je loupe une plage beaucoup plus grande.

Je ne sais pas comment vous pourriez améliorer la situation dans un cas comme le mien. Comment, au moment de recevoir des données après minuit, aller modifier une valeur du passé dans HA, comme l’appli est capable de le faire de son coté ?..

Merci en tout cas.

En remontant les données sur les derniers jours j’ai réussi à retrouver le même phénomène.
Je vois donc deux sujets :

  • récupérer cette donnée manquante de fin de journée
  • réussir à l’intégrer à l’historique de la veille

Sincèrement je n’ai pas grand espoir a trouver une solution pour l’un ou pour l’autre. Ce que fait l’appli Intuis pour interpréter le flux et affecter les chiffres aux différents jours est difficilement reproductible au travers d’un flow Node Red. En tout cas avec mes connaissances limitées.

Je vous tiens au courant dès que j’ai du nouveau.





OK, merci de confirmer mon analyse.

Pour le premier point (« récupérer cette donnée manquante de fin de journée »), votre flow est complètement réutlisable puisqu’il suffit de définir un nouveau couple début-fin correspondant à la veille plutôt que le jour courant (et les données auront déjà été consolidées côté serveur par Intuis), de faire un copier-coller d’une partie du flow en utilisant cette nouvelle période de 24h, et en créant de nouvelles entités pour stocker les valeurs de conso associées.

Le plus compliqué restera toujours le deuxième point (« réussir à l’intégrer à l’historique de la veille ») car on se retrouve dans la situation classique des données disponibles après coup (comme celles de GRDF, d’où le lien que j’ai partagé, car le développeur semble avoir trouvé un moyen de renseigner des valeurs long terme dans le passé).

Je pense que votre flow reste absolument nickel mais on touche plutôt un inconvénient de HA.

Et donc, pour ceux qui ne sont intéressés que par des données consolidées (uniquement le total de la veille donc, sachant que le serveur Intuis implique déjà des retards de plusieurs heures pour la remontée d’info), et que le décalage d’un jour dans l’affichage n’a finalement pas d’importance, il suffit de redéfinir les plages de début et de fin pour que ça coincide avec la veille, en modifiant simplement les noeuds « Jour J 00h00 » et « Jour J 23h59 » par « Jour J-1 00h00 » et « Jour J-1 23h59 » avec le code suivant:

var a = new Date();
var veille_a = new Date(a.getTime());
veille_a.setDate(a.getDate()- 1);
var b = veille_a.setHours(0,0,0,0);
var c = b / 1000;

{
    node.status({ fill: "yellow", shape: "ring", text:c});  
    msg.debut = c;
    return msg;
}

et

var d = new Date();
var veille_d = new Date(d.getTime());
veille_d.setDate(d.getDate()- 1);
var e = veille_d.setHours(23,59,59,0);
var f = e / 1000

{
    node.status({fill:"yellow",shape:"ring", text:f});
    msg.fin = f;
    return msg;
}

Ca marche nickel de mon côté.

Et comme déjà écrit, il est possible de faire coexister les deux types de valeurs (consommation pseudo-dynamique au cours de la journée avec le flow originel) et consommation totale de la veille consolidée avec les modifs ci-dessus), en créant les noeuds en parallèle.

Pour que tout soit parfait, il faudrait simplement trouver un moyen dans HA pour « rétrodater » des valeurs de sensor dans l’historique (pour aller mettre les valeurs de la veille à la date de veille). J’ai partagé quelques liens qui montrent un peu l’état actuel de ce point de vue là, ça ne sera pas facile.