Externaliser son historique - Stockage long terme

Désolé pour pour l’expression GA, qui veut dire « Groupe Adresse » en KNX.
Pour cette partie KNX, je suis plutôt à l’aise même si je suis autodidacte.

Je vais essayer de vous expliquer mon cheminement:
Très assidu sur le forum KNX français ( www.knx-fr.com à recommander pour les pratiquants de HA associé à KNX), les évolutions des uns et des autres, nous ont amenés à choisir les VMs et les CTs sous proxmox, pour sécuriser notre domotique.
Tout d’abord, nous faisons le choix d’utiliser toute la stabilité et le fiabilité du KNX, en lui déléguant le maximum de choses, dont les automates, et les régulations.
Nous faisons donc le choix de ne dépendre qu’au minimum d’une connexion internet.
Et pour nous HA, est là pour servir d’interface graphique soit pour tablette au domicile, soit smartphone à distance.
Pour beaucoup nous venons de Lifedomus qui nous donnait toute satisfaction, Deltadore ayant abandonné la maintenance de ce superviseur (avec une superbe ergonomie par ailleurs), et cette douche nous a pour la plus part amené à HA, avec son superbe dynamisme et sa philosophie totalement Open Source.
D’ailleurs, après avoir investi beaucoup de temps sur SNIPS avant son rachat et son abandon par SONOS, nous sommes ravis de l’intégration de Rhasppy dans l’équipe de HA. ( une dépendance vis à vis de Google Home ou d’Alexa est une facilité, mais me parait bien dangereuse).

Pour revenir au choix des VMs et les CTs sous proxmox, nous trouvons que le travail à réaliser pour une supervision de bonne qualité avec HA, demande vraiment un grand investissement en temps, et mérite de se pencher sur la sécurité matériel du support.

Avec un VM pour HA, on sauvegarde la VM, sur le NUC qui fait tourner HA, on externalise un backUp sur le réseau, plus un autre backup déconnecté du réseau.
En phase de développement, on peut cloner autant de VM d’HA que l’on veut, faire des tests puis faire le choix de la meilleure option.
Si le NUC est mort, on réinstalle Proxmox sur une autre machine, on y réinstalle la dernière sauvegarde, et tout est reparti.
Pour la partie développement de la configuration de HA, j’utilise Studio Code Serveur, avec un Git vers mon Github perso, ce qui permet de faire du versionning. Ce qui fait sauvegarde du code et test de versions.

mais le sujet de ce post est : « Externaliser son historique - Stockage long terme » et donc là je suis peut être hors-sujet.

Actuellement j’ai bien relié Node RED sur un CT, avec Ha, mais pour influxDB le CT est fonctionnel, mais je bloque pour le relié à HA. Je n’ai pas compris quel différence il y a avec l’addons influxDB pour HA???

1 « J'aime »

Ok donc ça c’est très bien ! ça réponds à une partie de mes interrogations. L’externalisation de la sauvegarde permet de s’affranchir d’une panne proxmox. Et ça me conforte dans la compréhension du besoin, c’est plus une besoin de sécurisation que de stockage d’un historique important ou multisource

Mais on est bien d’accord que quelque soit le cas : HA avec fichier local sqlite ou HA avec MariaDB en lxc c’est pareil : Base corrompue = données perdues. On est en mesure de restaurer le dernier backup opérationnel, ni plus ni moins.

En fait oui et non, depuis la création de ce sujet il y a 18 mois, le stockage a long terme intégré à HA est bien plus évolué (partie dashboard energie/eau/pv). Autrement dit, les besoins (et les solutions de contournement influxdb/grafana) à l’époque ne sont plus vraiment d’actualité.
Du coup, je pense que ça vaut le coup de tester cette partie intégrée en premier et d’éventuellement regarder influxdb si ça ne convient pas.

ça passe par le recoder peut importe la base de destination : mariadb ou influxdb = même combat

peux-tu m’expliciter le recoder ou me donner un lien pour comprendre.
Sinon j’ai suivi vos conseils et je suis passé sur influxDB, mais pour l’instant je teste sur le suivi de la température de l’eau de la piscine

C’est dans la doc

OK je m’y replonge

Cordialement

Vraiment une erreur de débutant!!! J’avais mis la même IP pour le CT influxDB et pour celui avec Grafana
C’est bien de faire des pauses parfois

Bonjour Neuvidor
A partir de tes taches j’ai pu arriver comme toi a avoir des graphiques grafana par jour, et les min/max de mes sensors de temprératures :slight_smile:
Comment as tu fait pour l’avoir par heure ?
pour le moment je fais via une automatisation sous HA (sauvegarde de mes sensor dans un input number toutes les heures). Le soucis c’est que cet input number je souhaite le copier dans la base de donnes home1_daily_data (qui est celle qui ne se vide jamais) et non dans la base home1_raw_data qui se vide au bous de 30 jours chez moi. J’ai essayé dans mon configuration yaml d’ajouter une autre base influxdb mais ca ne fonctionne pas bien (ca merde au niveaux des entités que j’inclus ou exclus, Ha se mélange les pinceaux entre les 2 bases influxdb.
sinon j’ai essayé de creer une tack influxdb pour copier une valeur d’une DB vers une autre mais je comprend rien au language des tasks influxdb…

Salut !

Il te suffit simplement de faire un autre Flow nodered qui injectera ta valeur vers ta seconde base de données.

Bonjour
Aïe je ne maîtrise pas Node red… J’ai jusqu’à présent fait sans… Mais va falloir que je my mettre.
Dans ton configuration tu as déclarer tes 2 bases de données avec tes include et tes edclude? Ou c’est directement dans nodered que tu aiguilles tes données vers la bonne base de donnée?

Autre question : il existe de tutos pour écrire des task sous influxdb? Le langage l’ensemble un peu compliqué…

Salut @cocof,

Tout es décrit ici :

J’ai utilisé la documentation officielle d’influx DB :

1 « J'aime »

Merci je vis donc creuser nodered, la Doc influxdb je la trouve incompréhensible, non adapté a un débutant…

De toute façon dans grafana tu devras écrire les requêtes influxdb pour extraire les données donc tu devra maîtriser un minimum.

De mon côté j’accroche finalement peu à InfluxDB, surtout concernant l’agrégation des données. Voir mon sujet :

Du coup je suis en train de mettre en place une base MariaDB en parallèle histoire de voir ma préférence. L’idée serait d’adopter la même architecture que la base SQLite de Domoticz.

Pour grafana j’utilise le mode graphique pour l’affichage donc c’est plus simple pas de code a écrire

Si jamais, voilà l’organisation de la BD de Domoticz concernant les capteurs de type température.

On distingue 2 tables dont voici le détails:

Temperature

Cette table contient l’historique court terme de chaque capteur

  • Granulométrie : 1 valeur par item tous les 5min
  • Rétention : 7 jours glissant
  • Type de données : Température instantanée au moment de l’enregistrement de chaque capteur
Temperature_Calendar

Cette table contient l’historique long terme de chaque capteur

  • Granulométrie : 1 valeur par item par jour
  • Rétention : +00
  • Type de données : min, max, moy de chaque capteur

Hello !

Pour infos je viens de valider le fonctionnement de base de mon flow afin d’injecter dans mes bases les données de Home Assistant à la manière Domoticz. Il me reste juste à paufiner la gestion des timezones dans nodered afin d’envoyer l’heure locale dans la requete SQL.

A voir si cela me facilite le traitement des données à l’avenir mais dans tous les cas cela à l’avantage de me faire découvrir les bases MySQL :slight_smile:

1 « J'aime »

Salut,

Après quelques tests de stockage et d’essai, j’ai légèrement revu le format de ma table. Elle ne comporte maintenant plus que 3 champs :

  • DeviceID => identifiant unique accordé à une sonde de température
  • Value => Valeur de température au moment de l’enregistrement
  • StoredDate => Date de l’enregistrement issue de Nodered

Après 3 jours que cela tourne, j’arrive à extraire les X dernières valeurs de chaque DeviceID se qui va me permettre de ne conserver que celle-ci et ainsi éviter que la base ne gonfle trop dans le temps.

1 « J'aime »

Bonjour,
Je suis en pleine réflexion sur la solution à adopter pour stocker mes historiques de consommations d’eau de gaz et d’électricité.

J’ai une installation full KNX avec HA installé sur une VM Proxmox (NUC). J’ai testé (il y a au moins un an) les add-ons InfluxDb et Grafana (Influx DB étant alimenté via Node-Red) mais je n’ai jamais complètement terminé par manque de temps.

Depuis est arrivé le Dashboard Energy et en deux clics j’ai l’historique elec, gaz et eau avec « cerise sur le graph » la possibilité de pouvoir comparer les consommations de deux périodes mais :

  • je ne sais pas sur quelle durée je pourrai les conserver (je souhaiterais 3 ans) car j’ai lu que des utilisateurs indiquaient 10 jours (dans mon cas j’ai les données depuis le début de l’implémentation du Dashboard Energy soit début décembre 2022).
  • j’utilise des compteurs pour d’autres sources (voiture, spa, cuisson, froid, …) et je trouve que l’option « appareils surveillés » du Dashboard Energy n’est pas suffisante.

L’idée serait donc de conserver le Dahboard Energy pour les compteurs généraux et de les doubler avec InfluxDB qui permettrait d’externaliser la base sur un NAS (et de la sécuriser)) et également d’effectuer les sous-comptage qui seraient affichés dans HA via Grafana.

La question qui se pose avant de commencer : choisir entre la solution des add-on Node-Red, InfluxDB et Grafana de HA qui présente l’avantage de l’intégration et du suivi des mises à jour par l’équipe HA et la solution des Container sous Proxmox qui permet d’externaliser la base de données et également d’alimenter la base via Node-Red même en cas de plantage de HA.

Je n’ai pas trouvé sur le net une liste exhaustive des avantages/ et inconvénients des deux solutions. Le jeu en vaut-il la chandelle ?
Un grand merci @Neuvidor (mon voisin Franc-Comtois) pour tes posts sur le sujet :+1:

1 « J'aime »

Il ne faut pas confondre le stockage des données à court terme (les infos de toutes les entités avec leurs états courants sur 10j) et les données long terme (les données du dashboard energy ou des entity meter) qui sont stockées sans péremption (à confirmé mais c’est pas les 10 même premiers jour).

De ce que je lit tu as 2 choix :

  • si tu injecte toutes les données via Nodered, et que les sources proviennent du KNX, tu as surement intérêt à passer par une solution externalisée, comme ça quand HA n’est pas là les données sont quand même traitées. C’est la solution la plus couteuse, en temps (pour installer les composants et faire les flows NR) mais aussi la plus robuste

  • si tu n’injecte que des données issue de HA (celles du dashboard), alors le plus facile c’est de passer par les addons pour l’installation et le recorder pour l’injection. Là part contre pas de HA=pas de données injectées, mais c’est peut-être pas un souci, puisque de toute façon le dashboard energy n’étant pas alimenté, tu n’as rien à poussé dans influxdb.

Tu peux évidement faire un mix des 2, injecter des données knx → NR → influx DB et des données knx → HA → influxDB, mais ça revient faire une installation comme dans le cas 1
J’utilise assez peu les données long terme (j’ai pas de linky) et pas fait une vrai visualisation HA des données météo que j’ai dans influxdb

Bonjour, moi j’ai fait un mix, VM pour ha, influxdb dans un conteneur afin de le dissocier de ha, et grafana via addon ha. L’avantage que je vois est l’affichage facilité dans ha ( avec cette histoire de HTTPS je ne suis jamais arrivé à trouver la bonne config pour afficher les graphiques via une URL externe dans ha sur mon pc et dans ha sur mon smartphone ( appli compagnon). J’ai en plus un autre grafana dans un conteneur mais je ne m’en sert plus.
Je ne passe pas via nodered pour envoyer les données mais j’utilise des task influxdb pour filtrer les données. (Max min Moyenne par jour, conso journalières mensuel…)

Merci pour vos retours.
J’avais bien compris la différence entre le stockage à court terme que j’utilise notamment pour ma conso d’eau journalière (avec une entity meter) et celui à long terme mais dans ce que j’ai lu c’est que certains utilisateurs du Dashboard Energy avait une durée très courte de conservation des données (peut-être liée au mode d’installation de HA ?), sauf erreur de ma part, je n’ai pas vu dans la documentation la durée par défaut ou le moyen de la paramétrer.

La remarque de @cocof m’a remis en mémoire le fait que j’avais eu également quelques problèmes il y a un an avec l’affichage des graphiques de Grafana en accès distant ; @Neuvidor ne l’a pas évoqué pour sa solution mais il reste peut-être en accès local.
J’utilise NabuCasa et je sais pas si, pour l’accès distant, ça va compliquer ou simplifier l’affaire.