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.
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?
Désolé de la réponse tardive,
L’icone du noeud à bel et bien changé depuis mes screenshots 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… »
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,
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.
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 :
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)
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 :
donc je suppose que je ne passe pas le 2 bloc
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é ?
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
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…
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 (genre : HC et Week-End)
Peux tu en premier, vérifier que tu es à 9600 bauds (ça oui), data bits : 8 bits, parity : even.
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 (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