Gazous Posté(e) le 23 février 2016 Auteur Signaler Posté(e) le 23 février 2016 Hello, Bizarre tu as l'air d'avoir tout fait comme il faut. Est-ce que cela fonctionne si tu utilises l'autre méthode ? Tu peux tester ça en direct en cliquant sur le bouton "Rafraîchir" et en début tu verras bien si il récupère les statistiques. Autre point important, as-tu bien renseigné dans ta scène le deviceId qui correspond àl'Id ton virtual device ? C'est de cette manière que la scène va récupérer l'adresse IP de l'Eco-Devices (cf l 16 de la scène)
chrispec Posté(e) le 23 février 2016 Signaler Posté(e) le 23 février 2016 En fait, sans login/mdp, cela marche nickel ... mais pas avec ?
alexandrebg Posté(e) le 7 avril 2016 Signaler Posté(e) le 7 avril 2016 Bonjour, desolé de revenir sur le sujet mais je trouve nul part un DV compté (avec conso mensuel et instantané) pour une conso en TEMPO et je n ai pas encore la connaissance pour la faire moi meme . J ai lu que certains l avait réalisé est il possible de la partager merci beaucoup
walli68 Posté(e) le 14 juin 2016 Signaler Posté(e) le 14 juin 2016 Bonjour, Savez vous il il possible de créer un power sensor virtuel afin d'avoir la conso dans le dashboard fibaro ? Merci Pierre
flechg Posté(e) le 26 janvier 2017 Signaler Posté(e) le 26 janvier 2017 Bonsoir a tous depuis le passage a la V4110 le VD ne fonctionne plus avez vous le même problème voici le message d'erreur [DEBUG] 20:40:03: An error occured ->0 [DEBUG] 20:40:03: No stats found, please check documentation and configuration j ai effacé la variable et réinstallé mais rien n'y fait une idée car il était top ce VD merci
Gazous Posté(e) le 26 janvier 2017 Auteur Signaler Posté(e) le 26 janvier 2017 Salut, chez moi ça fonctionne toujours. Tu utilises quelle méthode pour rafraîchir les données ?
flechg Posté(e) le 27 janvier 2017 Signaler Posté(e) le 27 janvier 2017 @Gazous merci de ton aide je viens de trouver le problème un changement d adresses ip de l ecodevice mais comment je peux pas le dire merci encore pour ton vd cordialement
ggpublic Posté(e) le 11 mars 2017 Signaler Posté(e) le 11 mars 2017 Salut, j'essaie d'installer le VD de @Gazous mais j'ai un pb j'ai pourtant tout bien fait et suivi scrupueusement le tuto le debug du mainloop m'indique [ERROR] 17:47:59: line 64: bad argument #1 to 'find' (string expected, got nil) cette ligne de code au debug ("an error occurred....") ici: jsonStats = fibaro:getGlobalValue("ecoDevicesStats") if not string.find(jsonStats, '{"product":"Eco-') then debug("An error occured -> "..jsonStats, "red") debug("No stats found, please check documentation and configuration", "orange") return false end je ne comprends pas, pourtant le bouton raffraichir ramène bien l'info de l'éco device... {"product":"Eco-devices","T1_PTEC":"HP..","T1_PAPP":530,"T1_HCHP":14499364,"T1_HCHC":7402853,"T2_PTEC":"----","T2_PAPP":0,"T2_BASE":0,"INDEX_C1":0,"INDEX_C2":0} j'ai pas d'idée sur le pourquoi du pb, ce VD fonctionne t'il encore en v4.110?
Gazous Posté(e) le 11 mars 2017 Auteur Signaler Posté(e) le 11 mars 2017 Hello, à priori tu as configuré ton VD pour qu'il s'alimente depuis la scène associée. C'est cette scène qui doit remplir la variable globale ecoDevicesStats qui d'après tes logs est vide. Donc tu dois vérifier que tu as bien crée la variable et également que ta scène tourne bien !
ggpublic Posté(e) le 11 mars 2017 Signaler Posté(e) le 11 mars 2017 Bonsoir @Gazous ben justement non, j'ai laissé pour l'instant le fonctionnement standard, la variable usescenetorefresh est restée a false je cherche toujours :-/
Gazous Posté(e) le 11 mars 2017 Auteur Signaler Posté(e) le 11 mars 2017 Dans ce cas ton bouton "Rafraîchir" ne fait pas bien le boulot ! As-tu bien crée la variable globale ??? As-tu bien renseigné les identifiants de connexion à ton Eco Devices ?
ggpublic Posté(e) le 11 mars 2017 Signaler Posté(e) le 11 mars 2017 Le debug du bouton rafraîchir me montre bien le retour de l'EC: {"product":"Eco-devices","T1_PTEC":"HP..","T1_PAPP":530,"T1_HCHP":14499364,"T1_HCHC":7402853,"T2_PTEC":"----","T2_PAPP":0,"T2_BASE":0,"INDEX_C1":0,"INDEX_C2":0} si tu parles de la variable ecoDevicesStats, oui oui c'est bien créé pour l'accès, je n'ai pas de password, mais je ne pense pas que le pb vienne de la vu que j'ai bien un retour json de l'écodevice via le bouton raffraichir ecoDevicesStats
Gazous Posté(e) le 11 mars 2017 Auteur Signaler Posté(e) le 11 mars 2017 Ta variable est vide. Vérifies bien son nom exact et qu'elle est crée dans le bon format
ggpublic Posté(e) le 13 mars 2017 Signaler Posté(e) le 13 mars 2017 Le 11/03/2017 à 23:31, Gazous a dit : Ta variable est vide. Vérifies bien son nom exact et qu'elle est crée dans le bon format Merci, j'avais bien fait le nécessaire. Ça commencé à fonctionner quand j'ai rebooté ma HC2.
MAM78 Posté(e) le 5 mai 2017 Signaler Posté(e) le 5 mai 2017 (modifié) Bravo @Gazous Ton VD Eco-Devices est vraiment top. Sans vouloir vexer les autres, je trouve que c'est le plus abouti. Certain diront qu'il manque le paramétrage pour d'autres tarifs EDF. Mais pour moi, qui suis dans le même cas que toi (HP/HC), c'est donc tout bon. Merci. Modifié le 5 mai 2017 par MAM78
Gazous Posté(e) le 5 mai 2017 Auteur Signaler Posté(e) le 5 mai 2017 Merci c'est gentil !En fait j'avais commencé à coder la version pour les autres types d'abonnements mais je n'ai jamais pris le temps de finaliser...Envoyé de mon iPhone en utilisant Tapatalk
Fanou Posté(e) le 5 juillet 2017 Signaler Posté(e) le 5 juillet 2017 Salut, moi je suis avec le cas le plus simple je dirais, pas de multi tarif, pas de couleur de jour (lorraine), et pas d'heure pleine ou creuse, j'ai donc T1_BASE pour mes panneaux solaire et T2_BASE en consommation... J'ai tenté de modifier ton VD en ajoutant "BASE" et en dupliquant tes lignes HP / HC mais ca ne fonctionne pas, j'ai bien la remonté depuis l'E-D dans la fenêtre debug du bouton rafraichir (j'utilise la version avec Scene à true)... je continu a chercher...
Fanou Posté(e) le 5 juillet 2017 Signaler Posté(e) le 5 juillet 2017 (modifié) 'Re, bon en corrigeant 2-3 lignes que j'avais ajouté, c'est tout bon, reste quelques point à traité, mais j'ai ma com' et affichage du tarif "TH", de la valeur du compteur et la puissance en cours... Modifié le 5 juillet 2017 par Fanou ortho
CharlesO Posté(e) le 10 août 2017 Signaler Posté(e) le 10 août 2017 Salut et bravo je voudrai adapte ton VD a mon conteur electric il marche par impulsion donc relier au C1 de mon eco device comment changer ton VD pour qu il marche sur le C1 et non pas sur T1 ? (j'ai dans le xml count0 et c0day) autre question quel est la difference entre PPAP et PAPP ? merci
Fanou Posté(e) le 10 août 2017 Signaler Posté(e) le 10 août 2017 Salut charles, ou a tu vu "PPAP", c'est PAPP le bon nom... pour ton c1 mon la ligne que tu recupères... Envoyé via Tapatalk
CharlesO Posté(e) le 13 août 2017 Signaler Posté(e) le 13 août 2017 Salut et merci pour ta reponce je n'ai pas compris tu peux m'expliquer ? merci
Fanou Posté(e) le 13 août 2017 Signaler Posté(e) le 13 août 2017 "Montre nous".. la ligne xml que tu as.. Envoyé via Tapatalk
sumsum Posté(e) le 9 mars 2018 Signaler Posté(e) le 9 mars 2018 (modifié) Bonjour, Un grand merci pour ce tuto qui m'a permis de piloter un boiler triphasé via un triac pilotable 0-10V. Je publierai sous-peu mon tutoriel complet. Mon code fonctionne parfaitement, mais j'aurai besoin de l'expertise des pros pour optimiser une boucle de moyenne glissante calculée sur les 5 dernières valeurs de consommation. Si vous avez le temps, je suis preneur, je me disais que de travailler avec json serait sûrement plus efficace, mais je ne maîtrise pas assez le json. Création des variables globales: createGlobalIfNotExists("Consommation_Instantanee_0","0") -- Variable pour stocker conso instantanée t0 createGlobalIfNotExists("Consommation_Instantanee_1","0") -- Variable pour stocker conso instantanée t-1 createGlobalIfNotExists("Consommation_Instantanee_2","0") -- Variable pour stocker conso instantanée t-2 createGlobalIfNotExists("Consommation_Instantanee_3","0") -- Variable pour stocker conso instantanée t-3 createGlobalIfNotExists("Consommation_Instantanee_4","0") -- Variable pour stocker conso instantanée t-4 createGlobalIfNotExists("Consommation_Instantanee_5","0") -- Variable pour stocker conso instantanée t-5 createGlobalIfNotExists("Consommation_Instantanee_Compteur_Moyenne","0") -- Variable pour stocker t afin de calculer la moyenne de consommation Appel de la fonction: -- --------------------------------------------------------- -- Calcule la moyenne glissante sur les 5 dernières mesures -- de consomation pour permettre de founir une consigne plus -- stable au triac pilotant le boiler -- --------------------------------------------------------- ConsoInstantanee = CalculMoyenneGlissanteConsoInstantanee(ConsoInstantaneeBrute) debug(ConsoInstantanee, "fuchsia") Fonction: --------------------------------------------------------- -- CalculMoyenneGlissanteConsoInstantanee(ValeurInstantanee) -- Fonction pour calculer une moyenne glissante sur les 5 -- dernières mesures de consommation. -- Ceci permet de calculer une consigne de pilotage du triac -- lissée et évite les pics d'appels de courant. -- Comme la mesure s'effectue toutes les 2 secondes, la moyenne -- de consomation Instantanée est donc de 5 mesures en 10 secondes. -- Les valeurs de consommation sont stockées dans 5 variables globales -- La ValeurTemps également. -- On retourne la valeur Moyenne de la consommation sur 5 mesures -- Formatée avec 2 chiffres après la virgule. --------------------------------------------------------- function CalculMoyenneGlissanteConsoInstantanee(ValeurInstantanee) local ValeurTemps local NomVariableGlobale = {"Consommation_Instantanee_0", "Consommation_Instantanee_1", "Consommation_Instantanee_2", "Consommation_Instantanee_3", "Consommation_Instantanee_4", "Consommation_Instantanee_5"} local ValeurTempsCalculVar = 1 local ValeurMoyenneConsommation = 0 ValeurTemps = fibaro:getGlobalValue("Consommation_Instantanee_Compteur_Moyenne") ValeurTemps = tonumber(ValeurTemps) if ValeurTemps <= 5 then ValeurTemps = ValeurTemps + 1 else ValeurTemps = 1 end fibaro:setGlobal(NomVariableGlobale[ValeurTemps], ValeurInstantanee) debug("NomVariableConteneur"..NomVariableGlobale[ValeurTemps]) debug("ValeurTemps"..tostring(ValeurTemps)) fibaro:setGlobal("Consommation_Instantanee_Compteur_Moyenne", ValeurTemps) while ValeurTempsCalculVar<= 5 do ValeurMoyenneConsommation = ValeurMoyenneConsommation + fibaro:getGlobal(NomVariableGlobale[ValeurTempsCalculVar]) debug(ValeurTempsCalculVar, "red") debug(ValeurMoyenneConsommation, "red") ValeurTempsCalculVar = ValeurTempsCalculVar + 1 end return(tonumber(string.format("%.2f",ValeurMoyenneConsommation/5))) end Merci aux Dieux du forum, @Gazous @Did @pepite @Steven et les autres pour vos suggestions d'optimisation Modifié le 10 mars 2018 par sumsum Erreur de frappe
pepite Posté(e) le 12 mars 2018 Signaler Posté(e) le 12 mars 2018 Bonjour, Flatté d'avoir été cité pour de l'optimisation de code, mais là heuuu pas la bonne personne, tu n'imagines pas mon niveau en LUA ;-) J'aurais quand même fait cela : local ValeurTemps = tonumber(fibaro:getGlobalValue("Consommation_Instantanee_Compteur_Moyenne")) Et ne me demande pas pourquoi mais sans réfléchir, j'aurais fait une boucle avec "For" et pas "while".. Place aux experts ;-)
Messages recommandés