Aller au contenu

Rechercher dans la communauté

Affichage des résultats pour les étiquettes 'Eco-Devices'.



Plus d’options de recherche

  • Rechercher par étiquettes

    Saisir les étiquettes en les séparant par une virgule.
  • Rechercher par auteur

Type du contenu


Forums

  • Bienvenue
    • Nouveau ? Présentez-vous
    • Le bistrot
    • Mon installation domotique
    • Annonces et suggestions
  • La Home Center et ses périphériques
    • La Home Center pour les nuls
    • HC 2 & Lite
    • HC 3
    • Modules Fibaro
    • Modules Z-wave
    • Périphériques et matériels autres
    • Plugins
    • Quick App
    • Multimédia (audio, vidéo ...)
    • Chauffage et Energie
    • Actionneurs & Ouvrants (Portail, volets, piscines, ...)
    • Eclairage
    • Applications Smartphones et Tablettes
  • Autres solutions domotiques
    • Box / Logiciel
    • Modules Nice (433 & 866 MHz)
    • Modules Zigbee
    • GCE Electronics
    • Modules Bluetooth Low Energy
  • Objets connectés
    • Les Assistants Vocaux
    • Netatmo
    • Philips Hue
    • DIY (Do It Yoursel)
  • Sécurité
    • Alarmes
    • Caméras
    • Portiers
    • Serrures
  • Informatique / Réseau
    • Tutoriels
    • Matériels Réseaux
    • Matériels Informatique
    • NAS
    • Virtualisation
  • Les bonnes affaires
    • Sites internet
    • Petites annonces

Rechercher les résultats dans…

Rechercher les résultats qui…


Date de création

  • Début

    Fin


Dernière mise à jour

  • Début

    Fin


Filtrer par nombre de…

Inscription

  • Début

    Fin


Groupe


Jabber


Skype


Ville :


Intéret :


Version

2 résultats trouvés

  1. Hello, Alors voici un petit code de ma part qui me permet de charger ma voiture électrique de façon automatique en heures creuses. J'ai qu'une prise 16A pour ça sur laquelle j'ai mis un contacteur 40A commandé par FGS211 que j'avais en stock. Pourquoi un contacteur 40A, parce que la bête elle mange ses 16A a fond. Donc il vaux mieux avoir de quoi faire Dans mon installation j'ai un Eco-Device avec le VM correspondant qui met les bonnes valeurs làou faut dans les variables globales. Le principe car j'ai un abo EDF 9kva, c'est d'attendre que le ballon d'eau chaude ait finis de travailler (selon les jours) et attendre 10 minutes que la conso est inférieure au seul de 4000W, couper le contacteur du ballon d'eau chaude et lancer le bidule. Voici le code àlancer dans une scène via GEA : --[[ %% properties %% globals --]] local debug=true; -- Debug or not local activator=302; local ecs_activator=174; -- Couper l'ECS local globalvarconso="CONSO"; local globalvartarif="ABO"; local seuil = 4000; -- Seuil en Watt -- Avoid multiple launch of this scene if (fibaro:countScenes()>1) then fibaro:debug("Second instance killed"); fibaro:abort(); end local conso; -- current conso -- Function function mydebug(string) if (debug) then fibaro:debug(string); end end function getconso() local conso1 = fibaro:getGlobal(globalvarconso); conso = tonumber(conso1); mydebug("Current conso = ".. conso); end -- Code local tarif = fibaro:getGlobal(globalvartarif); getconso(); mydebug("Current seuil = ".. seuil); mydebug("Current tarif = ".. tarif); if (tarif == "HC..") then mydebug("HC engaged..."); while (conso > seuil) do mydebug("Conso is > to seuil waiting..."); fibaro:sleep(10*60*1000); getconso(); end mydebug("Conso is now < to seuil switch on, wait 10 minutes to check if it still <"); fibaro:sleep(10*60*1000); getconso(); if (conso < seuil) then mydebug("Shutdown ECS"); fibaro:call(ecs_activator, 'turnOff'); mydebug("Lauch power"); fibaro:call(activator, 'turnOn'); else mydebug("Hum. Seems we have another spike -> abort"); end end mydebug("Bye !"); Le code est assez simple àconfigurer :- activator=302; Le contacteur pour charger la voiture elec - ecs_activator=174; Le contacteur pour éteindre l'alimentation du ballon d'eau chaude - globalvarconso="CONSO"; La variable globale de conso via l'eco devices - globalvartarif="ABO"; L'état de l'abo Le code pour lancer le bidule via GEA est : -- Charge Extérieur local authcharge = {"Global", "AuthCharge", "OUI"} -- HC/HP local estHC = {"Global", "ABO", "HC.." } local estHP = {"Global", "ABO", "HP.." } -- === Garage == -- Prise Exterieure (charge voiture) GEA.add({estHC,authcharge}, 30, "", {{ "Scenario",id["SC_CHARGE"]}}) GEA.add({estHP,authcharge,id["PRISE_EXT"]}, 30, "", {{ "turnOff", id["PRISE_EXT"]}}) A vous d'adapter les id avec les bon numéros...
  2. Bonsoir, Grâce à l'Eco-Devices, on peut suivre ses consommations d'électricité. Aussi, aujourd'hui je met à jour manuellement un tableur en copiant les infos depuis le fichier CSV (http://@IP/protect/download/xdata.csv). J'aimerais automatiser le traitement mais GCE ne fournit pas ces informations via l'API. Donc est-il possible de parser un fichier CSV en LUA pour calculer une estimation de prochaine facture grâe à mon eco-Devices. J'ai essayé de telecharger le fichier pour commencer mais cela ne fonctionne pas. --[[ %% properties %% globals --]] -- Replace the value with ID of this virtual module selfId=fibaro:getSelfId(); ip = fibaro:get(selfId, 'IPAddress'); ECO = Net.FHttp(ip) local response, status, errorCode = ECO:GET("/protect/download/xdata.csv") fibaro:debug(response) fibaro:debug("####Debut#########################") -- check for error if errorCode == 0 then if tonumber(status) == 200 then -- enregistrement du retour de l API dans une table fibaro:debug(response) else fibaro:debug("HTTP response status: "..status); end else fibaro:debug("Communication error"); fibaro:log("Communication error"); fibaro:call(selfId, "setProperty", "ui.Msg.value", "Comm. error", os.date("%d %b - %X")); end --[[ -- local citylist = {ANNEE,MOIS,JOUR,T1_BASE,T1_HCHP,T1_HCHC,T1_EJPHN,T1_EJPHPM,T1_BBRHPJB,T1_BBRHCJB,T1_BBRHPJW,T1_BBRHCJW,T1_BBRHPJR,T1_BBRHCJR,T1_PMAX,T1_ISOUSC,T1_IMAX,Counter1,T2_BASE,T2_HCHP,T2_HCHC,T2_EJPHN,T2_EJPHPM,T2_BBRHPJB,T2_BBRHCJB,T2_BBRHPJW,T2_BBRHCJW,T2_BBRHPJR,T2_BBRHCJR,T2_PMAX,T2_ISOUSC,T2_IMAX,Counter2} -- local citylist = "ANNEE,MOIS,JOUR,T1_BASE" local citylist = {} for line in citylist do local city, region, coalition, coordinate_x, coordinate_y = line:match("%s*(.-),%s*(.-),%s*(.-),%s*(.-),%s*(.-)") citylist[#citylist + 1] = { city = city, region = region, coalition = coalition, coordinate_x = coordinate_x, coordinate_y = coordinate_y } end –]] function ParseCSVLine (line,sep) local res = {} local pos = 1 sep = sep or ',' while true do local c = string.sub(line,pos,pos) if (c == "") then break end if (c == '"') then -- quoted value (ignore separator within) local txt = "" repeat local startp,endp = string.find(line,'^%b""',pos) txt = txt..string.sub(line,startp+1,endp-1) pos = endp + 1 c = string.sub(line,pos,pos) if (c == '"') then txt = txt..'"' end -- check first char AFTER quoted string, if it is another -- quoted string without separator, then append it -- this is the way to "escape" the quote char in a quote. example: -- value1,"blub""blip""boing",value3 will result in blub"blip"boing for the middle until (c ~= '"') table.insert(res,txt) assert(c == sep or c == "") pos = pos + 1 else -- no quotes used, just look for the first separator local startp,endp = string.find(line,sep,pos) if (startp) then table.insert(res,string.sub(line,pos,startp-1)) pos = endp + 1 else -- no separator found -> use rest of string and terminate table.insert(res,string.sub(line,pos)) break end end end return res end text = ParseCSVLine (response,",") fibaro:debug("####Fin#########################") Je n'ai rien qui s'affiche comme si la variable response était vide : Merci
×