Aller au contenu
Ludo-Ray

récupération de données

Recommended Posts

Bonjour,

 

Voilà mon sujet: je souhaite récupérer les données d'un module Qubino 3 Phases smart meter

Je précise que je ne connais absolument rien en LUA et pas plus en QA. Mais je suis prêt à apprendre :5:

 

L'origine du sujet est ici 

 

 

et voici le début de solution par @Lazer (merci)

  il y a une heure, Lazer a dit :

Bravo pour tes recherches et merci pour le partage de tes trouvailles.

Pour récupérer les valeurs des modules, il faut commencer par regarder leur JSON, accessible à l'URL suivante sur ta box :

/api/devices/ID

Et tu remplaces ID par l'ID du module qui t'intéresse.

Là tu vas avoir une longue liste, il faut que tu regardes dans "properties", il y a pleins de champs.
Normalement le champ "value" contient la valeur principale du module, mais tu peux aussi en avoir dans "power", "energy", etc, cela dépend du type de module ("type" que tu trouveras dans le JSON d'ailleurs)

 

Ensuite en LUA, tu peux récupérer la même information avec api.get() :

local id = 123
local myDevice = api.get("/devices/" .. tostring(id))
local myValue = myDevices.properties and myDevices.properties.value
if myValue then
	print("La valeur de mon device est :", myValue)
else
	print("Erreur : impossible de récupérer la valeur de mon device")
end

(non testé, j'espère qu'il n'y a pas d'erreur)

 

Bon alors là je suis encore plus débutant que débutant :D

j'ai donc créé un scénario en LUA dans la fenêtre ci-dessous:

 

image.thumb.png.a9659c3de1ccc748e951db589a5d8947.png

 

et du coup dans l'historique du HC3, j'ai ça:

image.thumb.png.a87d78088071b46801f0d633e3227387.png

je ne vois pas où je peux récupérer la valeur du script?

 

Ce que j'aimerais à terme c'est récupérer chaque minute la valeur de l'ID 297, afin de pouvoir le mettre dans un excel, voir même remplir directement un fichier excel en changeant de ligne à chaque fois.

je pensais dans un premier temps à un fichier txt, avec la nouvelle sur une ligne différente.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut, je ne te conseille pas trop d'utiliser les scènes, c'est plus adapté pour des scénarios qui doivent se déclencher à intervalle ponctuel, sur événement.

Sur HC3, les efforts sont tournés vers les QuickApp.
Honnêtement je n'ai pas le temps (ou l'envie, puis le temps ça se prend) de t'écrire ton QA pour faire ce que tu veux, donc je te conseille de partir des QA exemples proposés par Fibaro, d'essayer de comprendre la logique du onInit() puis de la façon de créer une boucle infinie (sujet évoqué sur le forum), pour ensuite récupérer la valeur de ton modules (en t'inspirant de l'extrait de code LUA que je t'ai proposé), puis il te restera à mettre ça sous forme de CSV affiché dans la console par exemple, que tu pourras copier/coller dans Excel.

 

Mais ça me parait bien fastidieux, et même si c'est toujours intéressant de réinventer la roue pour progresser, est-ce qu'il ne serait pas plus simple d'utiliser ce qui existe déjà ? Par exemple DomoCharts, qui ira stocker les valeurs dans une base de données, que tu pourras exploiter à loisir, tout en profitant des graphiques déjà intégrés ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Tient et sinon, explore le forum, il y a des tonnes d'information, par exemple ce tuto pour commencer :

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Non, je ne veux pas qu'on me fasse le boulot, le but est d'apprendre et de devenir presqu'autonome.
Je vais regarder du côté de domocharts.

Tient et sinon, explore le forum, il y a des tonnes d'information, par exemple ce tuto pour commencer :
 
 
 
J'avais trouvé un post similaire en LUA que j'ai commencé à lire. Je vais regarder ça. Merci.



Envoyé de mon IN2013 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

sinon, tu peux regarder ici un exemple d'envoiz par mail d'infos

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

merci pour l'aide, mais la programmation n'est pas encore dans mes cordes ...

par contre j'ai trouvé (par hazard) ceci:

dans "Général"

image.png.3185eeea21311f1131cb47e6e0a54253.png

ce qui permet d'exporter des données:

d'énergie :

image.png.39d3a05505f24483458eabc85d57e97d.png

Mais je ne retrouve pas la possibilité de récupérer les données du Qubino ZMNHXD1 3-Phase Smart Meter, n'y aurait-il pas un paramètre ou une case à cocher quelque part pour voire apparaitre l'appareil à cet endroit ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Ah tiens, ça doit être relativement nouveau cette fonctionnalité d'export de données, je ne l'avais jamais vu !

 

Mais comme tu peux le voir, il y a 2 onglets : température et énergie.
Et c'est tout !

Car les autres types de données (humidité, courant, tension, etc) ne sont pas historisées dans la HC3.

En fait je constate que cet onglet d'export ne propose d'exporter que les types de données pour lesquels on a un graphique historique disponible dans l'onglet propriété des modules concernés.

 

Pour ton module Qubino, je ne sais pas... faut déjà voir s'il remonte la consommation d'énergie, je suppose que oui car c'est un peu la base de cette catégorie de modules.

Partager ce message


Lien à poster
Partager sur d’autres sites

je ne pense pas que le système remonte uniquement les graphiques, car sur le Qubino on a des graphiques historique dans les onglets général de chaque nœud, et ça ne remonte pas pour cette exportation.

image.png.96d6c0b100b6d7d9c946904fda54e36c.png

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Ah dommage... et étrange à la fois.

Essaye peut être de contacter le support Fibaro pour leur poser la question, peut être que les modules du Qubino n'ont pas le bon type, et/ou autre bug...

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

et avec DomoChart, tu mes tous dans une DB MariaDB, il n'y aurait "qu'à" faire l'export depuis MariaDB ?

Partager ce message


Lien à poster
Partager sur d’autres sites

100% d'accord, j'avais proposé DomoCharts il y a un petit moment déjà, c'est le plus simple à mon avis :)


Et même pas besoin d'exporter les données, si elles sont dans une base de données, c'est le meilleur endroit qui puisse exister pour les traiter.
Quelques requêtes SQL permettent de
travailler les données à mettre en forme pour en sortir tout un tas de statistiques, et on peut même brancher Grafana dessus pour faire tous les graphs voulus.

Partager ce message


Lien à poster
Partager sur d’autres sites

Il va falloir que je regarde de ce côté. Mais je n'ai pas a l'heure actuelle de connaissance dans le domaine, il va falloir apprendre .

Envoyé de mon IN2013 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est pas bien compliqué à mettre en place en suivant le tuto, le prérequis c'est surtout d'avoir un serveur / NAS à disposition :

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Je n'ai pas de nas, mais il y a peut être possibilité de créer un serveur PHP via mes disques sur le routeur.
Il va falloir que je regarde tout ça.
Ou peut-être même créer un serveur PHP sur pc non ?

Envoyé de mon IN2013 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Théoriquement oui mais je ne conseille pas :

- Routeur : il a autre chose à faire, ses ressources sont généralement limitées et dédiées à sa fonction première : le routage des paquets. En outre attention au stockage des données qui va remplir la flash interne à vitesse grand V, voire la flinguer prématurément...

- PC : il saura faire sans souci, mais le propre d'un PC c'est de tout faire : travailler, jouer, se mettre à jour, rebooter, planter, et surtout il passe la plupart de son temps éteint. Donc ça va pas...

 

Pendant longtemps, je n'avais pas de NAS, et j'ai utilisé un hébergement mutualisé chez OVH... ça coute quelques euros par an, mais ça ne monopolise aucune ressource (et ça coute moins cher au final, pas de matériel à amortir ni de facture d'électricité qui grimpe)

Partager ce message


Lien à poster
Partager sur d’autres sites

Ha oui j'ai un hébergement pour un site en PHP, ça pourrait marcher ?

Envoyé de mon IN2013 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Je pense oui, mais attention il te faudra aussi (et surtout) une base SQL (MySQL ou MariaDB), et tu devras adapter un peu le tuto car il est prévu pour un NAS Synology.... mais si tu as déjà un site en PHP c'est que tu dois être à l'aise.

Partager ce message


Lien à poster
Partager sur d’autres sites

×