Monitoring électricité avec la téléinfo + Node Red + influxDB

Bonjour à tous,

Je me lance dans la téléinfo dans l’ensemble cela fonctionne bien (aucun soucis pour le flow 1).
Mon installation, un carte diy sur un raspberry pi zero avec nodered et une VM Debian avec influxDB et grafana distante.

Par contre, je viens de tester le flow2 et je rencontre un soucis au niveau des requêtes « last index » et « 2 min ago index » =>

HttpError: 500 Internal Server Error : {"error":"loc 1:17-1:24: string literal key \"value\" must have a value"}

Voici ce que j’ai dans ma query influxdb:

SELECT distinct("value") FROM "Wh" WHERE ("entity" = 'teleinfo') AND time >= now() - 1m GROUP BY time(1s) fill(null) ORDER BY time DESC

Je précise que si je lance cette requete directement sur mon serveur j’obtiens:

etienne@tic:~$ influx
Connected to http://localhost:8086 version 1.8.10
InfluxDB shell version: 1.8.10
> use teleinfo
Using database teleinfo
> SELECT distinct("value") FROM "Wh" WHERE ("entity" = 'teleinfo') AND time >= now() - 1m GROUP BY time(1s) fill(null) ORDER BY time DESC
name: Wh
time                distinct
----                --------
1638302042000000000 10893121
1638302027000000000 10893109
1638302011000000000 10893092
1638301995000000000 10893078
>

La je sèche un peu, si quelqu’un avait une idée je suis preneur.

Merci

Bonjour,
Merci pour le tuto. Je viens de passer de Domoticz à Home Assistant, et je découvre à la fois HA, InfluxDb et Node Red. Sur DZ, il y avait un pluging pour suivre la consommation électrique à partir d’un dispositif de Téléinfo, ce qui n’existe pas sur HA. Donc le travail que vous avez fait ici serait la réponse parfaite. Voici mon problème :

  • J’ai un dispositif Teleinfo1 de CarteElectronic,
  • les informations « Puissance Instantanée » et « Consommation instantanée » remontent bien dans HA via InfluxDb,
  • en revanche, pas moyen d’obtenir l’information des consommations jour/mois/année. J’ai créé une requête dans InfluxDb, et ces 3 compteurs ont une valeur 0 au 01/01/1970.
  • j’ai l’impression que le problème vient du flow 4 et du noeud Substract. Dans les messages de Debug, Node Red indique : " The msg.undefined should only containt numbers". Par ailleurs, les 3 noeuds ont un icône de calculatrice et non pas de « somme ».

Peut-être pourrez-vous me mettre sur la bonne voie?

Merci d’avance,

1 « J'aime »

Désolé de la réponse tardive,
L’icone du noeud à bel et bien changé depuis mes screenshots :slight_smile: pas de panique !
Avant les noeuds « calculatrice » il y a un noeud de fonction, il faudrait y mettre un noeud de débug à la sortie pour voir ce qu’il se passe dans ce noeud de fonction.

Edit : As tu bien initialisé les valeurs des compteurs une fois tout déploy ? avec le « MANUAL INIT… »

Salut,

Es tu sûr de choisir la bonne database dans ta config nodered influxdb ?

Bonjour,
J’ai tout vérifié et finalement découvert ma boulette cette semaine. Je débute en node red et j’avais bêtement pensé qu’il fallait créer un « onglet » node red par flow 2 (donc un pour le part 1, un autre pour le part 2, etc…). En copiant les flows 2 les uns à la suite des autres, j’ai enfin pu obtenir les données dans les index jours, mois, années. Donc tout fonctionne bien désormais. Il me reste à me pencher sur Grafana pour l’exploitation des données.
Merci encore pour votre aide et l’énorme travail réalisé pour intégrer la téléinformation dans HA.
Bonnes fêtes,

1 « J'aime »

SNoof le boss.
J’ai suivi le tuto à la lettre et ça marche nickel, merci à toi !

1 « J'aime »

Bonjour, tout d’abord merci pour ce retour.

Par contre je n’ai pas pu avancer, je ne maîtrise pas encore infludb.
Mon serveur infludb est une version 1.8.10
Du coup dans NodeRed mon server est configuré en v1.8-flux.

Pas de soucis pour intégrer les valeurs via les « influxdb out » car je choisi la base dans les paramètres, par contre dans les « influxdb in » pour les requetes je n’ai aucun endroit ou choisir la database?

Je fais quelques recherches mais pour le moment je ne trouve pas de solution et comme ça tourne pour l’intégration, je ne voudrais pas tout casser.

Pour le noeud in c’est dans le noeud de config influxdb que tu choisis ta database (comme pour le out d’ailleurs !)
image
La propriété « Server »
et si on édite ce « server » :
image
En gros il faut choisir le même server que pour les noeuds out.
Mais je ne pense pas que ce soit le souci, mais plutot ça :

  • tu dis que tu as choisi « 1.8-flux » la requête en question n’est pas en flux ! Il faut bien choisir 1.x dans version.

Je viens de refaire mes test en Version 1.X et ca fonctionne.

Merci pour l’aide, j’ai ensuite modifié mon node 1.8 en 1.X et tout fonctionne correctement.

1 « J'aime »

Bonjour
Je rencontre le meme message d’erreur : « The msg.undefined should only contain number(s) ». J’ai essayé la meme solution indiquée en concaténant dans le même fichier les 4 partx mais ca ne change rien. Visuellement, j’ai dans flow2, 4 flow séparé.
Ma méconnaissance de NodeRed ne m’aide pas j’avoue.
J’ai bien contrôlé en amont les prérequis, l’accès à la base, le stockage en dur, etc.
Si vous pouvez m’aider svp.
Merci par avance.

OK j’ai compris, en fait les variables que je donne sont des variables de flow donc leur portée est limitée au flow.
Il faut donc que votre « flow2 » comprenne bien 4 parties dans un meme flow (onglet).
Vous devez avoir 1 flow (onglet) qui ressemble à ceci :

Et l’autre :

Une fois que c’est fait, pensez bien à faire l’init des valeurs avec le noeud inject « Manual init >>DOT NOT PRESS UNTIL REALLY NEEDED >> ». Ce n’est à faire qu’une seule fois, pour lancer l’init des variables.

D’ailleurs, une fois l’int fait et que tout fonctionne bien, je vous conseille de désactiver ce noeud (double click dessus puis click sur « enabled » en bas à gauche de la config du noeud)

Merci beaucoup.
Ca fonctionne. Je vais m’attaquer à la suite du tutoriel.
Bon WE

1 « J'aime »

Bonjour,

je découvre ce post … c est super interessant ( je débute en HA et en node red, rien de mieux qu un exemple concret … )

sur le premier MSG (apres le limit ) j’ai ceci

donc déja il lis bien les info de mon port USB ( c est un module TIC/USB no name qui marche nickel sur jeedom avec le plugin téléinfo )
mon compteur Linky est en mode NORMAL et j ai passé le port USB en 9600

par contre j ai ce message :
Capture d’écran 2022-02-23 à 18.41.59

donc je suppose que je ne passe pas le 2 bloc :frowning:

si j active les autres MSG j ai rien en debug a par tle message ci dessus .
comment puis je voir si ça bloque ?

autre question bete, j ai pas un abonnement HP/HC … mais aussi WeekEnd (HP/C/WE ), je suppose qu il faut rajouter une 3ieme entité en se basant sur HP/HC ?

je me réponds a moi meme , je pense que cette solution nest pas adaptée a mon cas …

quand je regarde la 3ieme box ( meme si je suis bloqué à la 2ieme ) , il est fait mention de :
OPTARIF, PTEC , ect … c est donc une trame historique .
en mode standard , j ai ces infos dans NGTF , LTARF …

savez vous si il y a une version ‹ standard › des scripts ? ou il faut tout adapter ?

En effet c’est pour le mode historique. Et donc ça ne marchera pas en l’état pour du mode normal. Je peux essayer de faire la modif pour du mode normal.
Tu es en HP/HC monophasé ?

je suis bien en monophasé, mais HP/HC/WE :slight_smile:
je suppose qu il faut creer une 3ieme entitié pour le WE

voici un exemple de trame en HP

et une en HC :

pour le WE, il faudra attendre … ce WE :slight_smile: mais je suppose que le LTARF sera en « WEEK END »

peut etre au pire creer un nouveau sujet , pour ne pas polluer/mélanger avec celui ci …

Bonjour @SNoof

j ai essayé de modifié tes scripts, mais mon niveau en nodered a ses limites …
je pense que je bloque des le (valid trame) , et forcement derriere rien ne fonctionne .

si tu as le temps de jeter un oeil …

pour info, voici une trame WeekEnd

ADSC	062061638213	3
VTIC	02	J
DATE	H220226010545		>
NGTF	 HC et Week-End 	U
LTARF	 HEURE  WEEK-END	4
EAST	010746904	.
EASF01	007009874	E
EASF02	003590850	A
EASF03	000146180	8
EASF04	000000000	%
EASF05	000000000	&
EASF06	000000000	'
EASF07	000000000	(
EASF08	000000000	)
EASF09	000000000	*
EASF10	000000000	"
EASD01	006685689	P
EASD02	003460150	4
EASD03	000401608	5
EASD04	000199457	F
IRMS1	021	1
URMS1	232	A
PREF	09	H
PCOUP	09	"
SINSTS	04840	V
SMAXSN	H220226001230	08441	2
SMAXSN-1	H220225000605	07593	[
CCASN	H220226010000	05354	;
CCASN-1	H220226003000	06172	Z
UMOY1	H220226010000	234	&
STGE	003A8800	I
MSG1	PAS DE          MESSAGE         	<
PRM	19467293685817	M
RELAIS	001	C
NTARF	03	P
NJOURF	01	'
NJOURF+1	01	C
PJOURF+1	0000C003 NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE	F

J’ai pas trop pris le temps de me pencher dessus…

Les trames que tu présente là sont issues de quel noeud de débug ? (tu peux screenshot !) => Je suppose que c’est le 1er noeud de débug en fait vu la tête des données… :smiley:
Faut que je me pense sur le calcul de la checksum des trames en standard…

Deplus j’ai pas la gestion du WE dans mes flows, mais ça c’est pas le plus dur à faire…

Bon du coup c’est bien la validation de la trame qui foire…Pour 2 raisons :

  • Le calcul du checksum ne se fait pas sur la même plage de données.
  • Les trames ont des séparateurs, en mode historique ce sont des espaces, et mode standard ce sont des espaces OU des tabulations…Et pour faire super relou, dans les données il peut aussi y avoir des espaces :crazy_face: (genre : HC et Week-End)

Peux tu en premier, vérifier que tu es à 9600 bauds (ça oui), data bits : 8 bits, parity : even.

Bonjour à tous.
Personne n’a de soucis avec node red dans homeassistant depuis le 1er mars ?
J’obtiens un bad gateway.

Si je passe nodered en safe mode, il démarre mais les flows sont désactivés.

Si je réinstalle nodered et n’importe pas les flux, il démarre bien aussi.

Dès que j’active les flux, nodered passe son temps à redémarrer.
Je ne trouve rien de particulier dans les logs malgré les avoir passé en trace.

Je n’ai pas fais de changements récents, si ce n’est les mises à jour de homeassistant et peut être nodered en maj auto.

De plus niveau trames j’ai quand même un doute, je pense que le copier coller de nodered vers le forum déforme la trame :confused: (caractères style espaces et tabulations…)
Peux tu essayer à la sortie du premier noeud de débug, dans le panneau de débug utiliser le bouton « copy value » pour le msg complet et le coller dans un fichier texte (notepad++ si possible) enregistrer ce fichier et me le faire parvenir :slight_smile: