Ludo-Ray Posté(e) le 13 janvier Signaler Posté(e) le 13 janvier 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 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 j'ai donc créé un scénario en LUA dans la fenêtre ci-dessous: et du coup dans l'historique du HC3, j'ai ça: 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.
Lazer Posté(e) le 14 janvier Signaler Posté(e) le 14 janvier 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 ?
Lazer Posté(e) le 14 janvier Signaler Posté(e) le 14 janvier Tient et sinon, explore le forum, il y a des tonnes d'information, par exemple ce tuto pour commencer :
Ludo-Ray Posté(e) le 14 janvier Auteur Signaler Posté(e) le 14 janvier 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
jojo Posté(e) le 14 janvier Signaler Posté(e) le 14 janvier sinon, tu peux regarder ici un exemple d'envoiz par mail d'infos 1
Ludo-Ray Posté(e) le 29 janvier Auteur Signaler Posté(e) le 29 janvier 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" ce qui permet d'exporter des données: d'énergie : 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 ?
Lazer Posté(e) le 29 janvier Signaler Posté(e) le 29 janvier 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.
Ludo-Ray Posté(e) le 29 janvier Auteur Signaler Posté(e) le 29 janvier 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.
Lazer Posté(e) le 29 janvier Signaler Posté(e) le 29 janvier 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... 1
jojo Posté(e) le 29 janvier Signaler Posté(e) le 29 janvier et avec DomoChart, tu mes tous dans une DB MariaDB, il n'y aurait "qu'à" faire l'export depuis MariaDB ?
Lazer Posté(e) le 29 janvier Signaler Posté(e) le 29 janvier 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.
Ludo-Ray Posté(e) le 29 janvier Auteur Signaler Posté(e) le 29 janvier 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
Lazer Posté(e) le 29 janvier Signaler Posté(e) le 29 janvier C'est pas bien compliqué à mettre en place en suivant le tuto, le prérequis c'est surtout d'avoir un serveur / NAS à disposition :
Ludo-Ray Posté(e) le 29 janvier Auteur Signaler Posté(e) le 29 janvier 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
Lazer Posté(e) le 29 janvier Signaler Posté(e) le 29 janvier 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)
Ludo-Ray Posté(e) le 29 janvier Auteur Signaler Posté(e) le 29 janvier Ha oui j'ai un hébergement pour un site en PHP, ça pourrait marcher ?Envoyé de mon IN2013 en utilisant Tapatalk
Lazer Posté(e) le 29 janvier Signaler Posté(e) le 29 janvier 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.
Messages recommandés