Moicphil Posté(e) le 18 mai 2014 Signaler Posté(e) le 18 mai 2014 Je vous partage mon script que j'ai créer pour être régulièrement notifié de ma production photovoltaà¯que. A savoir que ce script est facilement adaptable pour suivre sa consommation Electrique générale compteur + coà»t Petit rappel pour récupérer les valeur de l'écodevice et envoyer cela dans des variables : HC2 = Net.FHttp("192.168.0.151")-- ip de l'écodevice response = HC2:GET("/api/xdevices.json?cmd=10") -- enregistrement du retour de l API dans une table response = json.decode(response) fibaro:setGlobal("ABO", response.T1_PTEC) fibaro:setGlobal("CONSO", response.T1_PAPP) fibaro:setGlobal("IHP", response.T1_HCHP) fibaro:setGlobal("IHC", response.T1_HCHC) fibaro:setGlobal("PROD", response.T2_PAPP) fibaro:setGlobal("INDEXPROD", response.T2_BASE) fibaro:log(fibaro:getGlobalValue("CONSO").." W Tarif : "..fibaro:getGlobalValue("ABO").." Index HP : "..fibaro:getGlobalValue("IHP").." Index HC :" ..fibaro:getGlobalValue("IHC") ) Tout d'abord, il va falloir créer 4 variables globales: -index ( index relevé à minuit ) -indexprod ( index à l'instant "t" ) -indexmois ( index relevé le 1er du mois ) -index28/07 ( index relevé à la date du contrat erdf ) J'ai crée un vd avec 4 boutons, 3 boutons renseignent donc ces variables à des moments précis --récupération de l'index de production local indexprod = fibaro:getGlobal("INDEXPROD") fibaro:debug(indexprod) --affectation de la prod dans la var "index" / a faire à minuit fibaro:setGlobal("index", indexprod); --récupération de l'index de production local indexprod = fibaro:getGlobal("INDEXPROD") fibaro:debug(indexprod) --affectation de la prod dans la var "indexmois" / a faire au 1er du mois fibaro:setGlobal("indexmois", indexprod); --recupération de l'index de production local indexprod = fibaro:getGlobal("INDEXPROD") fibaro:debug(indexprod) --affectation de la prod dans la var "index2807" / a faire à la date souhaitée fibaro:setGlobal("index2807", indexprod); Le dernier bouton servant à faire les relevés d'index et calcul : -- Formattage des chiffres --- function formatIndex(value) local sous = (indexprod - value)/1000;--soustraction return string.format("%010.3f", sous) end indexprod = tonumber(fibaro:getGlobal("INDEXPROD") or 0); fibaro:debug("index actuel: "..indexprod.."");--récup prod actuelle local index = tonumber(formatIndex(tonumber(fibaro:getGlobal("index") or 0))); local minuit = tonumber(fibaro:getGlobal("index") or 0); fibaro:debug("index à minuit: "..minuit.."");--récup prod à minuit local indexmois = tonumber(formatIndex(tonumber(fibaro:getGlobal("indexmois") or 0))); local mois = tonumber(fibaro:getGlobal("indexmois") or 0); fibaro:debug("index au 1er: "..mois.."")--récup prod du mois local index2807 = tonumber(formatIndex(tonumber(fibaro:getGlobal("index2807") or 0))); local date = tonumber(fibaro:getGlobal("index2807") or 0); fibaro:debug("index au 28/07: "..date.."")--récup prod à la date choisie local euro = tonumber(0.465)--prix d'achat erdf --------------- local prixjour = (euro * index) jour = string.sub(prixjour, 1, 4) --fibaro:debug(jour) fibaro:debug("Prod du jour : "..index.." Kwh - soit: "..jour.." €"); ------------- local prixmois = (euro * indexmois) mois = string.sub(prixmois, 1, 6) --fibaro:debug(mois) fibaro:debug("Prod du mois : "..indexmois.." Kwh - soit: "..mois.." €"); ------------- local prixannee = (euro * index2807) annee = string.sub(prixannee, 1, 7) --fibaro:debug(annee) fibaro:debug("Prod depuis le 28/07 : "..index2807.." Kwh - soit: "..annee.." €"); ------------- message = ("Production solaire du jour : "..index.." Kwh - soit: "..jour.." € / Production mensuelle : "..indexmois.." Kwh - soit: "..mois.." € / Production annuelle :"..index2807.." Kwh - soit: "..annee.." €") fibaro:debug(message); fibaro:setGlobal("pushover", message); fibaro:call(198, "pressButton", "2"); --pushover lua fibaro:sleep(1000); fibaro:setGlobal("pushover", "" );--raz variable En "debug" : [DEBUG] 18:19:32: index actuel: 8715878 [DEBUG] 18:19:32: index à minuit: 8698402 [DEBUG] 18:19:32: index au 1er: 8485402 [DEBUG] 18:19:32: index au 28/07: 6340400 [DEBUG] 18:19:32: 8.12 [DEBUG] 18:19:32: Prod du jour : 17.476 Kwh - soit: 8.12 € [DEBUG] 18:19:32: 107.17 [DEBUG] 18:19:32: Prod du mois : 230.476 Kwh - soit: 107.17 € [DEBUG] 18:19:32: 1104.59 [DEBUG] 18:19:32: Prod depuis le 28/07 : 2375.478 Kwh - soit: 1104.59 € [DEBUG] 18:19:32: Production solaire du jour : 17.476 Kwh - soit: 8.12 € / Production mensuelle : 230.476 Kwh - soit: 107.17 € / Production annuelle :2375.478 Kwh - soit: 1104.59 € Personnellement, j'ai choisi d’être informé 2 fois par jour avec l'application "pushover". J'ai donc créé une scène qui "appui" sur le bouton n°4 et qui me notifie quotidiennement ma production : 3
Moicphil Posté(e) le 18 mai 2014 Auteur Signaler Posté(e) le 18 mai 2014 Prochaine étape...même base de script mais dédié conso avec prise en compte des tarifs HC / HP... 2
darklite44 Posté(e) le 9 avril 2015 Signaler Posté(e) le 9 avril 2015 Personne n'a fait la version HP/HC ?
Moicphil Posté(e) le 9 avril 2015 Auteur Signaler Posté(e) le 9 avril 2015 Oui, c'est vrai ca? personne ne l'a fait ? Faut que je m'y colle depuis le temps que je dois m'en occuper ! Surtout que la base est déjà faite, y'a juste à modifier légèrement mon code.
darklite44 Posté(e) le 9 avril 2015 Signaler Posté(e) le 9 avril 2015 Si tu veux je peux faire beta-testeur :-)
Moicphil Posté(e) le 9 avril 2015 Auteur Signaler Posté(e) le 9 avril 2015 Entendu, je donnes pas de dates, mais promis je m'y colle dés que possible...
Moicphil Posté(e) le 12 avril 2015 Auteur Signaler Posté(e) le 12 avril 2015 Bon, j'ai eu du temps du coup.... Quelque chose comme çà , ça t'irais ? Rafraîchissement auto toutes les 10 sec mais paramétrable selon le besoin. Remise à zéro des coà»ts tous les jours à minuit
kiwi Posté(e) le 12 avril 2015 Signaler Posté(e) le 12 avril 2015 Hello, je veux bien faire beta-testeur aussi
darklite44 Posté(e) le 12 avril 2015 Signaler Posté(e) le 12 avril 2015 à‡a fonctionne chez moi également . Reste à voir pour me notifie quotidiennement ma consommation avec Pushover.
Manu31 Posté(e) le 25 avril 2015 Signaler Posté(e) le 25 avril 2015 Bonjour, J'étais en train de regarder pour en faire un mais je vois que le tiens serait presque parfait Il manquerait juste a stocker les résultat dans un BDD et faire un reporting sur l'année. En tout cas j'attends ça sortie avec impatience (ou alors être beta testeur )
darklite44 Posté(e) le 27 avril 2015 Signaler Posté(e) le 27 avril 2015 Il y'a pas moyen de stocker un tableau de valeur dans une variable globale comme ça et faire le reporting directement ? jsonString = json.encode(energylist); fibaro:setGlobal("energylist", jsonString); -- after encoding jsonString variable contains '{ "value2": null, "value1": 512 }' string fibaro:debug(jsonString) Ce qui donne : [DEBUG] 19:18:42: [{"date":"06-04-15","hc":"1050730","hp":"1325477"},{"date":"07-04-15","hc":"1059496","hp":"1334628"},{"date":"08-04-15","hc":"1066478","hp":"1341236"},{"date":"09-04-15","hc":"1073700","hp":"1348196"},{"date":"10-04-15","hc":"1077891","hp":"1354854"},{"date":"11-04-15","hc":"1083482","hp":"1365193"},{"date":"12-04-15","hc":"1092154","hp":"1374110"},{"date":"13-04-15","hc":"1100943","hp":"1383880"},{"date":"14-04-15","hc":"1108039","hp":"1392096"},{"date":"15-04-15","hc":"1114665","hp":"1397228"},{"date":"16-04-15","hc":"1119952","hp":"1405352"},{"date":"17-04-15","hc":"1124820","hp":"1415103"},{"date":"18-04-15","hc":"1130804","hp":"1423908"},{"date":"19-04-15","hc":"1135514","hp":"1432648"},{"date":"20-04-15","hc":"1142561","hp":"1441120"},{"date":"21-04-15","hc":"1148434","hp":"1445956"},{"date":"22-04-15","hc":"1153779","hp":"1452177"},{"date":"23-04-15","hc":"1158783","hp":"1458661"},{"date":"24-04-15","hc":"1164024","hp":"1466692"},{"date":"25-04-15","hc":"1167919","hp":"1474140"},{"date":"26-04-15","hc":"1173862","hp":"1486705"}]
darklite44 Posté(e) le 27 avril 2015 Signaler Posté(e) le 27 avril 2015 Voilà ce que ça donne : [DEBUG] 23:49:53: Calcul sur la periode du 21-01-15 au 26-04-15 [DEBUG] 23:49:53: mois=Jan, totalHP=361 kWh, totalHC=577 kWh, TOTAL==>119€ [DEBUG] 23:49:53: mois=Feb, totalHP=380 kWh, totalHC=350 kWh, TOTAL==>97€ [DEBUG] 23:49:53: mois=Mar, totalHP=265 kWh, totalHC=329 kWh, TOTAL==>77€ [DEBUG] 23:49:53: mois=Apr, totalHP=167 kWh, totalHC=229 kWh, TOTAL==>51€ Et puis mettre en forme tout ça dans un module avec des lablels. Cf le code source que j'ai fait.
Peter Posté(e) le 3 mai 2015 Signaler Posté(e) le 3 mai 2015 Bonsoir je vient de faire évoluer ma config domotique en mettant une hc2 et maintenant j'ai l'éco device Dite moi ou je pourrais trouvé le module virtuel que vous avez fait car il m'intéresse également j'ai une maison en bois BBC et je surveille de tres tres prêt la conso de la maison Et votre module virtuel me permettrait de la suivre mieux qu'àl'heure actuelle Merci d'avance
darklite44 Posté(e) le 3 mai 2015 Signaler Posté(e) le 3 mai 2015 Bonsoir, Pour le moment on peut trouver le code source ici : https://github.com/lboue/hc2-lua-scenes que l'on peut coller dans un bouton de VD. Il faut que je prenne le temps de faire un VD qui stocke un tableau JSON dans une variable globale. Et surtout les cas d'erreurs (c'est un peu plus compliqué) et faire ça un peu plus propre. Ensuite on peut lire les valeurs pour faire une estimation de facture ou un suivi conso. J'ai une maison RT2012 toute neuve, je veux comparer la consommation réelle avec ce qui m'a donné le bureau d'étude lors du test de perméabilité.
Peter Posté(e) le 3 mai 2015 Signaler Posté(e) le 3 mai 2015 Ok je vais essayer de me débrouiller pour le faire tout seul je débute juste en lui 2 jour avec aujourd'hui avant j'étais sur home center lite donct pas de lua Pour ce qui est de la maison si elle est en bois et que tout les teste de perméabilité on était fait correctement tu ne devrais pas consommer beaucoup Nous ont a fait ( non moi j'ai fait) un maison en ossature bois de 130m2 avec un Etage et on consomme moin de 750€ D'électricité (tout electrique)àl'année et nous sommes que trois pour le moment Pour en revenir au module je vais tenter tout seul et ci j'y arrive je le partage en tout cas merci de ta reponse
Peter Posté(e) le 4 mai 2015 Signaler Posté(e) le 4 mai 2015 Bonsoir merci darklite44 je cai l'installer ce soir et je te tient au courant Encore un grand merci
CASINOS Posté(e) le 4 mai 2015 Signaler Posté(e) le 4 mai 2015 Bonsoir Je suis en V3.6 J'ai mis le code source ci-dessus " https://github.com/lboue/hc2-lua-scenes/blob/master/Eco_Devices_monthly_consumption.lua " de Darklite44 dans un bouton "actualiser" et créer autant d’étiquette que de mois, mais l'ai l'erreur a la ligne 31 (jsonTable = json.decode(jsonString)) >>> : [ERROR] 21:43:20: line 31: Expected value but found T_END at character 1 Une idée de mon erreur ? Merci
darklite44 Posté(e) le 4 mai 2015 Signaler Posté(e) le 4 mai 2015 Il faut que je prenne le temps de faire un VD qui stocke un tableau JSON dans une variable globale. Et surtout les cas d'erreurs (c'est un peu plus compliqué) et faire ça un peu plus propre.Ensuite on peut lire les valeurs pour faire une estimation de facture ou un suivi conso. Oui car ta variable globale "energylist" est vide. En fait il manque un bout du traitement que je fait dans un autre VD. local jsonString = fibaro:getGlobalValue("energylist") Essaie de remplacer par ça pour voir : local jsonString = '[{"date":"06-04-15","hc":"1050730","hp":"1325477"},{"date":"07-04-15","hc":"1059496","hp":"1334628"},{"date":"08-04-15","hc":"1066478","hp":"1341236"},{"date":"09-04-15","hc":"1073700","hp":"1348196"},{"date":"10-04-15","hc":"1077891","hp":"1354854"},{"date":"11-04-15","hc":"1083482","hp":"1365193"},{"date":"12-04-15","hc":"1092154","hp":"1374110"},{"date":"13-04-15","hc":"1100943","hp":"1383880"},{"date":"14-04-15","hc":"1108039","hp":"1392096"},{"date":"15-04-15","hc":"1114665","hp":"1397228"},{"date":"16-04-15","hc":"1119952","hp":"1405352"},{"date":"17-04-15","hc":"1124820","hp":"1415103"},{"date":"18-04-15","hc":"1130804","hp":"1423908"},{"date":"19-04-15","hc":"1135514","hp":"1432648"},{"date":"20-04-15","hc":"1142561","hp":"1441120"},{"date":"21-04-15","hc":"1148434","hp":"1445956"},{"date":"22-04-15","hc":"1153779","hp":"1452177"},{"date":"23-04-15","hc":"1158783","hp":"1458661"},{"date":"24-04-15","hc":"1164024","hp":"1466692"},{"date":"25-04-15","hc":"1167919","hp":"1474140"},{"date":"26-04-15","hc":"1173862","hp":"1486705"}]' J'ai refait un nouveau VD qui combine tout ça et que j'ai envoyé à Petermoto. J'attend son retour avant de le publier. Aussi je ne traite que le cas des abo HC.
CASINOS Posté(e) le 4 mai 2015 Signaler Posté(e) le 4 mai 2015 Ca me donne : [DEBUG] 23:28:27: Calcul sur la periode du 06-04-15 au 26-04-15 [ERROR] 23:28:27: line 74: attempt to perform arithmetic on field 'hc_day' (a nil value) line 74 = totalHP = totalHP + v.hc_day;
darklite44 Posté(e) le 5 mai 2015 Signaler Posté(e) le 5 mai 2015 Essaie avec ça [{"hc":"1050730","hc_day":7818,"date":"06-04-15","hp":"1325477","hp_day":13104},{"hc":"1059496","hc_day":8766,"date":"07-04-15","hp":"1334628","hp_day":9151},{"hc":"1066478","hc_day":6982,"date":"08-04-15","hp":"1341236","hp_day":6608},{"hc":"1073700","hc_day":7222,"date":"09-04-15","hp":"1348196","hp_day":6960},{"hc":"1077891","hc_day":4191,"date":"10-04-15","hp":"1354854","hp_day":6658},{"hc":"1083482","hc_day":5591,"date":"11-04-15","hp":"1365193","hp_day":10339},{"hc":"1092154","hc_day":8672,"date":"12-04-15","hp":"1374110","hp_day":8917},{"hc":"1100943","hc_day":8789,"date":"13-04-15","hp":"1383880","hp_day":9770},{"hc":"1108039","hc_day":7096,"date":"14-04-15","hp":"1392096","hp_day":8216},{"hc":"1114665","hc_day":6626,"date":"15-04-15","hp":"1397228","hp_day":5132},{"hc":"1119952","hc_day":5287,"date":"16-04-15","hp":"1405352","hp_day":8124},{"hc":"1124820","hc_day":4868,"date":"17-04-15","hp":"1415103","hp_day":9751},{"hc":"1130804","hc_day":5984,"date":"18-04-15","hp":"1423908","hp_day":8805},{"hc":"1135514","hc_day":4710,"date":"19-04-15","hp":"1432648","hp_day":8740},{"hc":"1142561","hc_day":7047,"date":"20-04-15","hp":"1441120","hp_day":8472},{"hc":"1148434","hc_day":5873,"date":"21-04-15","hp":"1445956","hp_day":4836},{"hc":"1153779","hc_day":5345,"date":"22-04-15","hp":"1452177","hp_day":6221},{"hc":"1158783","hc_day":5004,"date":"23-04-15","hp":"1458661","hp_day":6484},{"hc":"1164024","hc_day":5241,"date":"24-04-15","hp":"1466692","hp_day":8031},{"hc":"1167919","hc_day":3895,"date":"25-04-15","hp":"1474140","hp_day":7448},{"hc":"1173862","hc_day":5943,"date":"26-04-15","hp":"1486705","hp_day":12565}]
CASINOS Posté(e) le 5 mai 2015 Signaler Posté(e) le 5 mai 2015 Ca fonctionne mais s'arrete a Label1 JANVIER [DEBUG] 07:50:30: Calcul sur la periode du 06-04-15 au 26-04-15 [DEBUG] 07:50:30: mois=Jan, totalHP=114 kWh, totalHC=152 kWh, TOTAL==>33€
darklite44 Posté(e) le 5 mai 2015 Signaler Posté(e) le 5 mai 2015 Effectivement ce cas n'est pas prévu
Peter Posté(e) le 5 mai 2015 Signaler Posté(e) le 5 mai 2015 @darklite44 j'ai mis en place le MV que tu m'a envoyé mais il ne fonctionne pas par contre j'ai récupérer sur ton Gith hc2-lua-Eco_Devices_next_bill.lua mais celui làfonctionne mais il n'affiche rien sur le module virtuel par contre je débute sur le lua J'aurais bien voulue avoir celui que moicphil vous a fournit car je n'ai pas besoin du coût sur une année mais plus celui que vous avez tester en beta je te met des screens en pj pour que tu puisse voir Merci d'avance
Moicphil Posté(e) le 6 mai 2015 Auteur Signaler Posté(e) le 6 mai 2015 Petermoto, voici mon module...je n'ai pas avancé, je bloque sur les calculs annuel, je m'y remettrait plus tard... Téléinfo-Conso_HC-HP (2).vfib
Messages recommandés