Aller au contenu

couillerot

Membres confirmés
  • Compteur de contenus

    1 505
  • Inscription

  • Dernière visite

  • Jours gagnés

    69

Tout ce qui a été posté par couillerot

  1. j'ai de nouveau un décalage de 1h45 !... finalement, je vieilli moins vite avec cette HC3 ! bien mieux que toutes ces crèmes anti-âge... Stef
  2. certaine fois, un refresh de la page web ne suffisait pas à remettre à jour l'horloge... Pour le moment, je n'ai plus ce décalage. Stef
  3. j'ai aussi constaté ce décalage rapporté dans le QA sur ipad... Stef
  4. je vais mettre un os.date("%w %H:%M", os.time()) pour vérification... Stef
  5. en fait dans mon QA Weatherbit, je récupère le numéro du jour (de dimanche à samedi / de 0 à 6) via os.date("%w") et vu qu'il n'existe pas dans la console, je soupçonne qu'il récupère l'info dans l'horloge... et vu que celle-ci est désynchronisée et bien le changement de jour ne s'opère pas à l'heure dite. (avec quelquefois plusieurs heures de décalage) Stef
  6. malgré tout, j'ai remarqué que certaines actions étaient malheureusement liées à l'heure affichée dans la fenêtre en haut à droite et non celle de la console ! un QA Clock sync pour HC3 nécessaire ? Stef
  7. bon j'ai de nouveau ce bug sur l'heure... cherchez l'intrus...
  8. couillerot

    questions de newbie !

    ça fonctionne parfaitement ! Stef
  9. couillerot

    questions de newbie !

    merci lazer, je vais essayer stef
  10. couillerot

    questions de newbie !

    au fait, existe t-il un moyen de décaler du texte ? j'ai bien essayé avec string.gsub, \t, \b ...mais rien à faire ! merci Stef
  11. couillerot

    questions de newbie !

    Merci Lazer pour ton aide car j'ai bientôt fini mon QA WeatherBit avec gestion auto de l'arrosage il me reste encore à fignoler quelques bricoles et surtout l'intégrer en tant que fibaro.weather Stef eee40" comme valeur à "data"
  12. couillerot

    Joyeux anniversaire @Domodial

    très bon anniversaire ! Stef
  13. couillerot

    questions de newbie !

    merci Lazer pour ces précisions Stef
  14. couillerot

    questions de newbie !

    question : pourquoi sous data il me marque des object Object... ? données pas encore décodées ? Stef
  15. couillerot

    questions de newbie !

    {"status_code":429,"status_message":"Your request count (513) is over the allowed limit of 500 per day - Upgrade your key, or retry after 477.41666666667 minutes"} rebelotte ! Stef
  16. couillerot

    questions de newbie !

    finalement, sur le debug j'arrive obtenir quelquechose : cependant, je souhaite aller justement dans la table data / table dans le tableau des variables, j'arrive bien à récupérer quelques donnée mais la table data est vide... une piste, peut-être... je sèche ! voici le morceau de code : self.http:request("http://api.weatherbit.io/v2.0/forecast/daily?city_id=3027642&lang=fr&key=e1fc285d7350412c80504c0670faba05", { success = function(response) if response.status == 200 then if response.data and response.data ~= "" then local jsonTable = json.decode(response.data) local k, v for k, v in pairs(jsonTable) do print("key = " .. k .. " - type(v) = " .. type(v)) self:setVariable(k,v) end Stef
  17. d'après le début de ton code, je vois que tu allumes, tu l'éteints après 6s et de suite tu l'allumes de nouveau. Pour faire simplement du On/Off, tu devrais déjà supprimer ton 2ème fibaro.call(171,"turnOn") pour qu'il reste en position Off. Stef
  18. couillerot

    QA et variable

    ne serait pas simplement un problème lié aux variables locales qui ne peuvent être appelées que dans dans leur propre QA (sans faire intervenir l'artillerie lourde), à contrario des VG ? Stef
  19. couillerot

    questions de newbie !

    j'ai hâte que les 0.6333333 se terminent !!! Stef
  20. couillerot

    questions de newbie !

    zut... {"status_code":429,"status_message":"Your request count (872) is over the allowed limit of 500 per day - Upgrade your key, or retry after 513.63333333333 minutes"}
  21. couillerot

    questions de newbie !

    merci Lazer, je l'avais déjà repérer depuis un bon moment Stef
  22. couillerot

    questions de newbie !

    Autre question qui n'a rien à voir... voilà, je souhaite réaliser un petit QA basé sur l'api de weatherbit qui s'orienterait plutôt vers les prévisions de précipitations pour mon arrosage auto. j'arrive bien à extraire les datas mais je coince sur le comment récupérer toutes les variables "precip"... du data ??? et je n'y connais absolument rien en table s'il s'agit de cela... je sais bien que cela est très basique comme demande mais je ne souhaite qu'apprendre et pouvoir bricoler deux ou trois trucs merci Stef voici un extrait du data :
  23. couillerot

    Conso RAM HC3

    55% d'espace en ram utilisée ? je suis à 23% d'espace ram utilisée. Stef
  24. En complément de la version Eco Devices Light "T", voici la version "C" soit le compteur d'eau (enfin dans mon cas) . Ce QA est inspiré d'un VD existant sur HC2 dont je ne connais pas l'auteur. Pour l'installation, rien de plus simple : - installer le QA - renseigner l'adresse IP dans le tableau des variables ("ip_Ecodevice") et l'id utilisateur pour recevoir le rapport journalier ("id_Mail) - c'est tout... Pour un calcul au plus juste, ce QA prend en compte toutes les taxes annexes (qui seront à modifier selon : cf taxes et abonnement dans la partie du code "Calcul des prix HT") Un rapport journalier est envoyé automatiquement avec la conso du jour et le coût. Un reset auto de la conso est effectué tous les soirs à minuit. function QuickApp:onInit() self:updateProperty("deviceIcon", 1044) self.http = net.HTTPClient({timeout=3000}) self:loop() end function QuickApp:loop() local interval = 60 -- Refresh ipecodevice = self:getVariable("ip_Ecodevice") idmail = self:getVariable("id_Mail") self.http:request("http://"..ipecodevice.."/api/xdevices.json?cmd=10", { success = function(response) if response.status == 200 then response = json.decode(response.data) self:setVariable("eau", tostring(response.INDEX_C1)) --------------------------------------- --------------------------------------- --------- CALCULS DES PRIX HT --------- --------------------------------------- --------------------------------------- ------------------------------------------- -- VARIABLES POUR CALCUL DU COUT (en HT) -- cout_consommation = 0.001603 --++ (consommation eau / fond renouvellement distribution) cout_abonnement = 0.1780 --++ cout_assainissement = 0.00003 --++ cout_modernisation = 0.00015 --++ cout_pollution = 0.000316 --++ (Pollution / Prerservation) cout_collecte = 0.1287 --++ cout_consocollecte = 0.0024 --++ ------------------------------------------- ------------------------------------------- -- TVA local TVA5_5 = 1.055 local TVA10 = 1.10 ---------------------------------------- local function roundToNthDecimal(num, n) local mult = 10^(n or 0) return math.floor(num * mult + 0.5) / mult end -- consommation eau / fond renouvellement distribution TVA 5_5 --++ local function consommation(L) local cout = tonumber(L * cout_consommation * TVA5_5) return cout end -- redevance abonnement Distrib Eau TVA 5_5 --++ local function abonnement(J) local abonnement = tonumber(J * cout_abonnement * TVA5_5) return abonnement end -- taxe assainissement TVA 10 --++ local function assainissement(L) local assainissement = tonumber(L * cout_assainissement * TVA10) return assainissement end -- taxe modernisation TVA 10 --++ local function modernisation(L) local modernisation = tonumber(L * cout_modernisation * TVA10) return modernisation end -- taxes Pollution / Prerservation TVA 5_5 --++ local function pollution(L) local pollution = tonumber(L * cout_pollution * TVA5_5) return pollution end -- Abonnement collecte eau TVA 10 --++ local function collecte(J) local collecte = tonumber(J * cout_collecte * TVA10) return collecte end -- Consommation collecte eau TVA 10 --++ local function consocollecte(L) local consocollecte = tonumber(L * cout_consocollecte * TVA10) return consocollecte end ---------------------------------------------------------- -------- CALCULS DES PRIX JOUR / MOIS / ANNEE ------------ ---------------------------------------------------------- local eau, _ = self:getVariable("eau") eau = tonumber(eau) local eau_jour, _ = self:getVariable("eau_jour") eau_jour = tonumber(eau_jour) local eau_mois, _ = self:getVariable("eau_mois") eau_mois = tonumber(eau_mois) local eau_annee, _ = self:getVariable("eau_annee") eau_annee = tonumber(eau_annee) local total = eau / 1000 -- local prixjour = ( euro * calc_jour) local calc_jour = (tonumber(eau) - tonumber(eau_jour)) self:setVariable("conso_jour", tostring(calc_jour)) -- local prixmois = ( euro * calc_mois) local calc_mois = (tonumber(eau) - tonumber(eau_mois)) --local prixannee = ( euro * calc_annee) local calc_annee = (tonumber(eau) - tonumber(eau_annee)) ---------- local prixjour = roundToNthDecimal( consommation(calc_jour) + assainissement(calc_jour) + modernisation(calc_jour) + pollution(calc_jour) + consocollecte(calc_jour) + collecte(1) + abonnement(1) ,2) jour = string.sub(prixjour, 1, 6) ---------- local prixmois = roundToNthDecimal( consommation(calc_mois) + assainissement(calc_mois) + modernisation(calc_mois) + pollution(calc_mois) + consocollecte(calc_mois) + collecte(30) + abonnement(30) ,2) mois = string.sub(prixmois, 1, 6) ---------- local prixannee = roundToNthDecimal( consommation(calc_annee) + assainissement(calc_annee) + modernisation(calc_annee) + pollution(calc_annee) + consocollecte(calc_annee) + collecte(365) + abonnement(365) ,2) annee = string.sub(prixannee, 1, 6) self:setVariable("prix_du_jour", tostring(prixjour)) self:updateProperty("log", ""..tostring(calc_jour).." L / " ..jour.. " €") self:updateView("labeleau", "text", "Index EAU au " ..(string.format(os.date("%d/%m/%Y"))).. " : " ..total.. " m³") self:updateView("labeleau_jour", "text", "Consommation d'EAU aujourd'hui : " ..calc_jour.. " Litres") self:updateView("labeleau_mois", "text", "Consommation du mois : " ..calc_mois.. " Litres soit " ..mois.. " €") self:updateView("labeleau_annee", "text", "Consommation de l'année : " ..calc_annee.. " Litres soit " ..annee.. " €") self:updateView("labelcout", "text", "Coût de l'EAU aujourd'hui : " ..jour.. " €") else print("Erreur : status=" .. tostring(response.status)) end end, error = function(error) self:debug('error: ' .. json.encode(error)) end }) self:refreshTime() fibaro.setTimeout(tonumber(interval) * 1000 * 2, function() self:loop() end) end ----------------------------------------------------------- function QuickApp:refreshTime() local currentDate = os.date("*t") local Jour = tonumber(os.date("%d", os.time())) local Mois = tonumber(os.date("%m", os.time())) local Annee = tonumber(os.date("%y", os.time())) local Heure = tonumber(os.date("%H", os.time())) local Minute = tonumber(os.date("%M", os.time())) ------------------------------------------------------------- ---------------- ENVOI DU RAPPORT JOURNALIER ---------------- ------------------------------------------------------------- if Heure == tonumber("23") and Minute == tonumber("58") then prixdujour = self:getVariable("prix_du_jour") consodujour = self:getVariable("conso_jour") local message = ("Coût : "..prixdujour.." €\nConsommation : "..consodujour.." litres") fibaro.call(tonumber(idmail), "sendEmail", "Consommation EAU maison du "..os.date("%d/%m/%Y"), message) fibaro.call(20, "sendEmail", "Consommation EAU Maison du "..os.date("%d/%m/%Y"), message) fibaro.sleep(60 * 1000) end -- Envoi index dans variable à minuit tous les jours if Heure == tonumber("00") and Minute == tonumber("00") then local compteur = self:getVariable("eau") self:setVariable("eau_jour", compteur) end -------------------------------------------- -- Envoi index au 1er du mois if Jour == tonumber("01") then local compteur = self:getVariable("eau") self:setVariable("eau_mois", compteur) end -------------------------------------------- -- Envoi index au 1er janvier if Jour == tonumber("01") and Mois == tonumber("01") then local compteur = self:getVariable("eau") self:setVariable("eau_annee", compteur) end fibaro.setTimeout(1000 * 60, function() self:refreshTime() end) end EcoDevice_Borne_C1.fqa Stef
  25. salut à tous, A des années lumières du superbe et complet QA de Barelle sur l'Eco Devices, voici une version light (et sans prétentions) spéciale HP / HC (un grand merci à Lazer pour son aide ;)) Pour l'installation, rien de plus simple : - télécharger le QA - renseigner dans le tableau des variables : * l'adresse IP de l'Eco Devices ("ip_Ecodevice") * le coût de l'abonnement / an ("tarifAbonnement") * le prix des heures Pleines / Creuses ("tarifHC" et "tarifHP") * l'id utilisateur pour recevoir le rapport journalier sur la consommation HC / HP et le coût total ("id_Mail") et c'est tout... ce QA prend en compte toutes les taxes annexes pour un calcul au plus juste (TCFE, CFPE et CTA). Un reset auto est effectué tous les soirs à minuit. Par défaut, ce QA pointe sur la borne T1. pour se loguer sur le T2, 3 lignes seront à modifier dans le code du QA (signalées). Compteur d'énergie (type EnergyMeter) : Compteur Energie.fqa Compteur de puissance (type PowerSensor) : Compteur Puissance.fqa Version 1.1 - ce QA est désormais reconnu comme compteur d'énergie par la HC3 (par défaut, il indique la conso instantanée en VA) - affichage du tarif en cours (donc heures pleines ou heures creuses) Version 1.2 - QA peut être considéré comme compteur d'énergie (type EnergyMeter) ou Compteur de puissance (type PowerSensor) Stef
×
×
  • Créer...