Création des compteurs

Bonjour,
Je viens d’installer le plugin.
J’ai suivis la doc l’acces au compteur est OK, le fichier Json est OK mais la création des compteurs ne se fait pas.

Voici les logs

0000|[2023-12-06 12:25:03]INFO : Lancement de cron
0001|[2023-12-06 12:25:03]INFO : cron Refresh Info Ecocompteur : New Compteur
0002|[2023-12-06 12:25:03]INFO : refresh_json New Compteur
0003|[2023-12-06 12:25:03]INFO : get_json
0004|[2023-12-06 12:25:03]DEBUG : EcoLegrand   url_api http://192.168.1.140/COMPT.json
0005|[2023-12-06 12:25:03]DEBUG : curl_exec response : $http_code 200 response --> { "PAC Appoint kW":0.000000, "PAC Alim kW":2351.000000, "PAC ECS kW":0.000000, "Cuisson kW":0.000000, "General":2532.000000, "Linky Conso":024608424, "Linky I Souscrite":45, "Compteur Eau m³":345.813019, "Total kWh":24607.201172, "PAC Appoint kWh":404.171021, "PAC Alim kWh":12046.072266, "PAC ECS kWh":722.871460, "Prises de Courant kWh":1188.580566, "General kWh":14662.143555 }
0006|[2023-12-06 12:25:03]DEBUG : refresh_json

Merci pour votre aide

Info supplémentaires :
Je suis a la dernière version du plugin et en 4.3.20 sur Jeedom
Le fichier Json

{
"PAC_Appoint_W":~LG503 0 3005$,
"PAC_Alim_W":~LG503 1 3005$,
"PAC_ECS_W":~LG503 2 3005$,
"Cuisson_W":~LG503 3 3005$,
"General":~LG503 4 3005$,
"Linky_Conso":~LG526 1 12005$,
"Linky_I_Souscrite":~LG526 11 12005$,
"Compteur_Eau_m3":~LG528 0 12205$,
"Total_kWh":~LG536 0 12724$,
"PAC_Appoint_kWh":~LG536 2 12724$,
"PAC_Alim_kWh":~LG536 4 12724$,
"PAC_ECS_kWh":~LG536 6 12724$,
"Prises_de_Courant_kWh":~LG536 8 12724$,
"General_kWh":~LG536 10 12724$
}

@bernard.dandrea , ai-je raté un truc ?

bonjour

quand tu cliques sur ‹ Créer les compteurs ›, tu n’as pas dans les logs un message ‹ create_counters EcoCompteur Legrand › puis la log des création des commandes infos ?

Bernard

Non je n’ais rien.
J’ai beau cliquer plusieurs fois sur créer compteur ça tourne 1sec et c’est tout

Peux-tu m’envoyer une copie écran de l’équipement et des commandes ?

Les commandes

Les logs avec le create :
0000|[2023-12-16 16:03:31]INFO : create_counters New Compteur
0001|[2023-12-16 16:03:31]INFO : get_json
0002|[2023-12-16 16:03:31]DEBUG : EcoLegrand   url_api http://192.168.1.140/COMPT.JSON
0003|[2023-12-16 16:03:31]DEBUG : curl_exec response : $http_code 200 response --> { "PAC_Appoint_W":0.000000, "PAC_Alim_W":12.000000, "PAC_ECS_W":0.000000, "Cuisson_W":0.000000, "General":180.000000, "Linky_Conso":024775882, "Linky_I_Souscrite":45, "Compteur_Eau_m3":347.407013, "Total_kWh":24774.660156, "PAC_Appoint_kWh":404.277069, "PAC_Alim_kWh":12164.258789, "PAC_ECS_kWh":723.792236, "Prises_de_Courant_kWh":1193.692505, "General_kWh":14802.664063 }
0004|[2023-12-16 16:03:31]DEBUG : create_counters
0005|[2023-12-16 16:04:01]INFO : Lancement de cron
0006|[2023-12-16 16:04:01]INFO : cron Refresh Info Ecocompteur : New Compteur
0007|[2023-12-16 16:04:01]INFO : refresh_json New Compteur
0008|[2023-12-16 16:04:01]INFO : get_json
0009|[2023-12-16 16:04:01]DEBUG : EcoLegrand   url_api http://192.168.1.140/COMPT.JSON
0010|[2023-12-16 16:04:01]DEBUG : curl_exec response : $http_code 200 response --> { "PAC_Appoint_W":0.000000, "PAC_Alim_W":12.000000, "PAC_ECS_W":0.000000, "Cuisson_W":0.000000, "General":193.000000, "Linky_Conso":024775883, "Linky_I_Souscrite":45, "Compteur_Eau_m3":347.407013, "Total_kWh":24774.660156, "PAC_Appoint_kWh":404.277069, "PAC_Alim_kWh":12164.258789, "PAC_ECS_kWh":723.792236, "Prises_de_Courant_kWh":1193.692505, "General_kWh":14802.664063 }
0011|[2023-12-16 16:04:01]DEBUG : refresh_json

Mais toujours rien.

Je viens de tester avec votre fichier JSON et cela fonctionne dans mon environnement

je ne comprends pas d’où vient le problème. apparemment, le script PHP bloque sur le décodage du JSON retourné par l’écocompteur

est-ce que par hasard il y aurait des erreurs indiquées dans la log http.error ?

également, quelle est la version du pluggin ?

Je n’ai rien dans les logs http error.
Je suis a jour du plugin.
Souhaitez vous un accès distant ?

Je ne sais pas debugger jeedom en live aussi un accès distant ne me sera pas utile

    log::add('EcoLegrand', 'debug', __('create_counters', __FILE__) . ' $obj_detail --> ' . $obj_detail);

Pourrais tu insérer la ligne de code ci-dessus dans le fichier html/plugins/EcoLegrand/core/EcoLegrand.class.php (ligne 116)

Apparemment, le problème vient du décodage du fichier Json. Je voudrais être sur qu’il est bien retourné après l’appel de get_json.

Pourras-tu me renvoyer le résultat du log après la tentative de création des compteurs

0000|[2023-12-17 11:23:39]INFO : create_counters EcoCompteur
0001|[2023-12-17 11:23:39]INFO : get_json
0002|[2023-12-17 11:23:39]DEBUG : EcoLegrand   url_api http://192.168.1.140/COMPT.JSON
0003|[2023-12-17 11:23:39]DEBUG : curl_exec response : $http_code 200 response --> { "PAC_Appoint_W":0.000000, "PAC_Alim_W":1588.000000, "PAC_ECS_W":0.000000, "Cuisson_W":0.000000, "General":1791.000000, "Linky_Conso":024795944, "Linky_I_Souscrite":45, "Compteur_Eau_m3":347.616028, "Total_kWh":24794.720703, "PAC_Appoint_kWh":404.284210, "PAC_Alim_kWh":12167.936523, "PAC_ECS_kWh":724.302063, "Prises_de_Courant_kWh":1193.979980, "General_kWh":14810.327148 }
0004|[2023-12-17 11:23:39]DEBUG : create_counters $obj_detail --> { "PAC_Appoint_W":0.000000, "PAC_Alim_W":1588.000000, "PAC_ECS_W":0.000000, "Cuisson_W":0.000000, "General":1791.000000, "Linky_Conso":024795944, "Linky_I_Souscrite":45, "Compteur_Eau_m3":347.616028, "Total_kWh":24794.720703, "PAC_Appoint_kWh":404.284210, "PAC_Alim_kWh":12167.936523, "PAC_ECS_kWh":724.302063, "Prises_de_Courant_kWh":1193.979980, "General_kWh":14810.327148 }
0005|[2023-12-17 11:23:39]DEBUG : create_counters

Voici les logs,
Merci pour ton aide

Apparemment, la conversion du json se passe mal

il semble que la routine de conversion n’apprécie pas le 0 dans « Linky_Conso »:024795944.

en supprimant le 0, ça passe

pourrais-tu vérifier en supprimant le champ Linky_Conso dans l’extraction

par contre, il faut que je cherche un peu pour voir comment traiter le problème de façon générale

Peux-tu aussi essayer en décrivant le champ comme ceci

« Linky_Conso »:« ~LG526 1 12005$ »,

image

(Mettre des quotes)

C’est du json sauce Legrand 2015.
Il faut supprimer les 0 en début des valeurs avant le json_decode.

Un nombre qui commence par un 0 est en octal.

Peux-tu tester avec les quotes, je pense que cela doit fonctionner également

Merci avec les «  » ça fonctionne.
Par contre j’ai des erreurs :

SyntaxError: '' string literal contains an unescaped line break

l’erreur est dans la log ?

Non directement dans Jeedom


Le triangle en haut a droite