-
Compteur de contenus
1 283 -
Inscription
-
Dernière visite
-
Jours gagnés
28
Tout ce qui a été posté par flacon030
-
Capteurs Zwave pour plantes
flacon030 a répondu à un(e) sujet de Julien92130 dans Périphériques et matériels autres
Bonjour Je relance le sujet Quel solution de nos jours pour HC3? Merci quelqu'un a tester cela? https://blog.domadoo.fr/100484-capteur-de-sol-plantes-zigbee-rehent-tuya/ Si non je pensais a cela avec un smart implant https://www.amazon.fr/dhumidité-étanche-humidité-testeur-capteur/dp/B082V79S1Z Capteur d'humidité avec sortie 0 - 10V Je viens de le commander on verra se que cela donne -
Perso je suis passé en système batterie car je l'ai eu a prix coutant (par mes fournisseur) et que je l'ai installé moi et il en va de même pour l'onduleur et les panneaux Si j'avais du passer par un installateur la problématique aurait été tout autre, je n'aurais pas choisie cette solution. Avec le recule et au vu du se que j'ai a présent, je devrait réussir a amortir mon système en environ 7 ans au tarif actuel du KW a 0,20€, si le prix du KW monte bien évidement l'amortissement sera encore meilleur Mais comme je l'avais déjà dit, je ne recherche pas absolument a amortir au plus vite mon installation Effectivement la seul chose qui me dérange c'est la partie recyclage, qui je l’espère dans 10 ans sera au moins en partie résolu (date a la quel mes batterie devrait être moins performante)
-
Je viens de voir que mes walplug les plus ancien ne remonte plus leur consommation, ils reste figé a une valeur ils sont en version 25.25 Or les plus récent en version 3.2 eux fonctionnent comme il faut
-
Je pense avoir trouvé Je verrais demain si c'est bon Il semble que j'ai créer une routine sous alexa qui demande au couché du soleil d'allumer le salon Les walplug étant de type lumière ceci explique cela...
-
Bonjour Depuis plusieurs jours je rencontre un nouveau problème que je n'arrive pas a résoudre J'ai tous les modules de la pièce "salon" qui vers 21h04 se mettent en marche, et cela se décale de quelques minutes chaque jour, on dirait a l'heure du couché du soleil Se sont tous les devices qui compose le salon, walplug, dimmer, clim via melcloud J'ai désactiver toutes mes scènes au cas ou mais cela ne change rien J'ai regarder dans l'historique et il semble que cela vienne du user , or je ne demande rien J'ai aussi désactiver mon hombridge au cas mais c'est toujours pareil Auriez vous une idée Comment l'utilisateur peut déclencher une action si je ne demande rien
-
oui c'est sur. Comme quoi on peut avoir des objectif différent avec du matériel identique
-
Non je n'ai jamais mis en place la vente de surplus, le but c'est qu'il y en ai le moins possible car vendre a 0,10€ alors que l'on acheté a 0,20€ je ne vois pas l’intérêt, je préfère optimiser au plus possible mes consommations Mon powerreducer c'est un elio4you standard, en triphasé pour le coté gestion énergie (donc avec 6 pince ampèremétrique) Avec ce module https://www.4-noks.com/shop/elios4you-it/elios4you-pro/
-
Bonjour Voici une journée type parfaite On voie bien que la priorité est donné a la charge de la batterie, puis au ompilot Mais il me reste encore de l'exedant je vais donc a présent pour voir avec certaines condition a mettre la climatisation en route pour cet été Les choses avance dans le bon sens
-
Quick App - GCE Electronics IPX800 v4 et EcoDevice RT2
flacon030 a répondu à un(e) sujet de Lazer dans Quick App Developpeur
Merci c'est bon J'ai juste du ajouter : "formula pour avoir le bon résultat affiché Par contre les TOR ne sont vraiment pas bon pour les faibles Consommation sur le RT2 Je m'explique, pour 5W sur mon SPA par exemple, il affiche 240W??, pour 500W il affiche 445W, se qui est pas trop mal, et pour 1800W j'ai environ 1750W Et c'est pareil avec les autre TOR J'ai fait des mesure avec une pince ampèremétrique et un wallplug qui eux me donnent les bonnes valeurs {device = {name = "Conso cuisine", type = "PowerMeter"}, value = {command = "Get", argument = "S" , pin = "P3_SSP1", formula = function(x) return tools:round(x*1000, 0) end}}, {device = {name = "Fronius Ompilot", type = "PowerMeter"}, value = {command = "Get", argument = "S" , pin = "P4_SSP1", formula = function(x) return tools:round(x*1000, 0) end}}, {device = {name = "SPA", type = "PowerMeter"}, value = {command = "Get", argument = "S" , pin = "P5_SSP1", formula = function(x) return tools:round(x*1000, 0) end}}, -
Voila enfin Je viens de recevoir mon ompilot fronius J'ai donc remplacer mon powerreducer par le ompilot (le powerreducer va être a la vente du coup) Se qui devrait me permettre d’optimiser ma production entre les batterie et le SPA en été et le chauffage du bureau pour ma secrétaire en hiver Car l'onduleur me permet de gérer en priorité la recharge de la batterie, et quant cette dernière est pleine, c'est le ompilot que prend la relève, se qui était pas trop le cas avec le powerreducer qui fonctionnait parfois alors que la batterie n’était pas encore chargé, et ce même avec l'utilisation de scenarios pour limité son utilisation Malgré tous ces derniers jour j'ai une autoconsommation de 90%, une autosuffisance de 86% se qui pas mal
-
Quick App - GCE Electronics IPX800 v4 et EcoDevice RT2
flacon030 a répondu à un(e) sujet de Lazer dans Quick App Developpeur
Bonjour J'essaie de mettre en place 3 nouveau chids a partir de l'ecdevice RT2 et des TOR 1 / 2 et 3 La puissance reste a zéro? Or se que je recherche dans ces nouveaux child se sont avant tous les puissances Ma configuration est elle bonne? {device = {name = "Conso cuisine", type = "PowerSensor"}, value = {command = "Get", argument = "S" , pin = "P3_SSP1"}}, {device = {name = "Fronius Ompilot", type = "PowerSensor"}, value = {command = "Get", argument = "S" , pin = "P4_SSP1"}}, {device = {name = "SPA", type = "PowerSensor"}, value = {command = "Get", argument = "S" , pin = "P5_SSP1"}}, -
perso se sont mes deux modules aeotec ZW078 les plus anciens qui ne remonte plus leur consommation Ce n'est pas la première fois que cela arrive A un tel point que je pense que je vais placer un TOR et faire les mesures avec l'ecodevice RT2 a la place pour mesurer les consommation cas j'en ai marre que cela plante régulièrement
-
voila a quoi cela ressemble Les modules sans template ont un triangle jaune pour les scène il y a une option "vrai durant la durée définie" Se qui peut être pas mal comme option de plus
-
QA Enphase Envoy Prod / Conso Supervision
flacon030 a répondu à un(e) sujet de TitiXsi dans Quick App Developpeur
Bonjour Tu as un ohmpilot avec ton onduleur fronius? Car perso cela fait depuis le mois de septembre que j’essaie d'en avoir un Pour le moment je suis toujours avec un power reducer Mais avec la gestion des batterie je voudrais pouvoir définir des priorité, mais cela n'est possible que si j'ai un ohmpilot -
bonjour j'essaie de créer mes deux derniers child mais je n'ai aucune valeur qui remonte, elles reste a 0, or elles remonte bien dans mon panneau du QA (voir image ci dessus) J'ai mis un multilevelSensor avec une propriété en "unit" "%" mais je suis pas sur de faire se qu'il faut function QuickApp:createChildDevices() self:initChildDevices({ ["com.fibaro.multilevelSensor"] = sensor, }) self.childs.rel_AutonomyChild = self:initChildDevice("rel_AutonomyChild", "rel_Autonomy", "com.fibaro.multilevelSensor", sensor) self.childs.rel_AutonomyChild:updateProperty("unit", "%") self.childs.rel_SelfConsumptionChild = self:initChildDevice("rel_SelfConsumption", "rel_SelfConsumption", "com.fibaro.multilevelSensor", sensor) self.childs.rel_SelfConsumptionChild:updateProperty("unit", "%") function QuickApp:parseGeneralData(data) local fronius = json.decode(data) self:trace(data) self.rel_Autonomy = fronius.Body.Data.Site.rel_Autonomy or 0 self.rel_SelfConsumption = fronius.Body.Data.Site.rel_SelfConsumption or 0 self:updateView("mode", "text", "Mode: " .. fronius.Body.Data.Site.Mode) -- ----rel_SelfConsumption--- self:updateView("rel_SelfConsumption", "text", "Autoconsommation: " .. string.format("%.3f",fronius.Body.Data.Site.rel_SelfConsumption) .. " %") self.childs.rel_SelfConsumption:setValue(fronius.Body.Data.Site.rel_SelfConsumption) -- ----rel_Autonomy--- self:updateView("rel_Autonomy", "text", "Autonomy: " .. string.format("%.3f",fronius.Body.Data.Site.rel_Autonomy) .. " %") self.childs.rel_AutonomyChild:setValue(fronius.Body.Data.Site.rel_Autonomy)
-
Merci Voici ce que j'obtiens a présent avec ce QA modifier Reste a réussir a faire fonctionner les deux child "autoconsommation" et "autonomie"
-
Effectivement cela fonction en ajoutant * -1 et cela ne posera pas de problème pour cette fonctionnalité vu que la consommation de la maison ne peut pas être négative Mais pour ma culture personnel, je la place ou celle fonction dans mon code? Merci fonction math.abs() code du child if self.P_Load ~= json.null() then self:updateView("load", "text", "Conso maison: " .. string.format("%.3f", self.P_Load * -1) .. " W") self.childs.currentLoadChild:updateProperty("value", self.P_Load * -1) end
-
J'ai la consommation de mon habitation qui remonte en négatif dans la tuile de mon child et donc invisible sous domocharts est il possible de la convertir en positif? if self.P_Load ~= json.null() then self:updateView("load", "text", "Conso maison: " .. string.format("%.3f", self.P_Load) .. " W") self.childs.currentLoadChild:updateProperty("value", self.P_Load) end
-
Oui je vais essayer de remonter ces deux information dans le QA J'ai vu dans le code json que ces informations sont disponibles En faite j’essaie de remonter tous les info du code json de l'onduleur et des batteries pour avoir un QA le plus complet possible Body Data Inverters 1 Battery_Mode "normal" DT 99 E_Day 3682 E_Total 3896556 E_Year 1760809.25 P 699 SOC 48.79999923706055 Site BatteryStandby false E_Day 3682 E_Total 3896556 E_Year 1760809.2000000002 Meter_Location "grid" Mode "bidirectional" P_Akku 76.86 P_Grid 10.7 P_Load -709.7 P_PV 670 rel_Autonomy 98.49232069888684 rel_SelfConsumption 100 Version "12" Head RequestArguments {} Status Code 0 Reason "" UserMessage "" Timestamp "2023-05-13T12:04:39+02:00" Il reste un point que j’essaierais de régler plus tard c'est que les child de puissance puissent afficher les puissances comme le child du linky avec la mention "injection" ou "consommation" sous la puissance dans la tuile
-
Je pense que je vais essayer un multilevelsensor Car ce n'est pas une batterie effectivement C'est le pourcentage d’autoconsommation des PV, rien a voir avec une batterie Merci pour ton aide
-
Quel type de chilld créer pour un % d'autonomie de l'habitation selon vous? Merci
-
Bon je me répond a moi même Après pas mal d'essais je viens de trouver Il faut ajouter deux lignes pour ce QA et avoir un nouveau child (celui de la puissance qui entre ou sort de la batterie) if self.P_Akku ~= json.null() then self:updateView("akku", "text", "Batterie: - Charge / + Decharge: " .. string.format("%.3f", self.P_Akku) .. " W") self.childs.currentAkkuChild:updateProperty("value", self.P_Akku) -- Ligne ajouté Akku end -- Current Akku power (w) self.childs.currentAkkuChild = self:initChildDevice("currentAkkuChild", "Akku", "com.fibaro.powerMeter", PowerSensor) -- ligne ajouter Akku
-
Administration du forum- Ca bouge !
flacon030 a répondu à un(e) sujet de Moicphil dans Annonces et suggestions
Merci aux créateurs de ce forum En effet sans le forum je pense que je n'aurais pas l'installation que j'ai sans l'aide précieuses de ces membres Merci a vous tous Et bonne continuation a @Lazer pour la suite de l'aventure -
Bonjour a tous Sur le marketplace il y a un QA pour la gestion des onduleurs fronius Il est plutôt complet mais perso il me manque une information essentiel La gestion de la charge ou décharge de la batterie Cette information est disponible mais le child n'a pas été créer Comment l'ajouter? c'est cette info que je voudrais récupérer pour créer le child if self.P_Akku ~= json.null() then self:updateView("akku", "text", "Batterie: - Charge / + Decharge: " .. string.format("%.3f", self.P_Akku) .. " W") end J'ai bien réussi a ajouter un child avec cela, mais ma valeur reste a zéro -- Current Akku power (w) self.P_Akku.currentGridChild = self:initChildDevice("currentAkkuChild", "Akku", "com.fibaro.powerMeter", PowerSensor) voici le code Ci joint l'API de l'onduleur, et a titre d'information ma batterie est une BYD -- comment the line below to activate trace logs fibaro.trace = function() end function QuickApp:onInit() self:debug('onInit') self.E_Total_Consumed = 0 self.E_Total_Produced = 0 if (not self:checkConfiguration()) then self:updateProperty("log", "Not configured") self:warning("Quick app not configured. Please go to the quick app variables configuration, and set ip of your Fronius device.") else self:updateProperty("log", "") self:trace("initFields") self:initFields() self:trace("createChildDevices") self:createChildDevices() self:trace("fetchGeneralData") self:fetchGeneralData() self:trace("fetchMeterData") self:fetchMeterData() end end function QuickApp:checkConfiguration() if self:getVariable("ip") ~= "" and self:getVariable("port") ~= "" and self:getVariable("timeout") ~= "" then return true end return false end function QuickApp:initFields() self.http = net.HTTPClient({ timeout = 3000 }) self.ip = self:getVariable("ip") self.port = self:getVariable("port") self.timeout = tonumber(self:getVariable("timeout")) self.childs = {} self:updateProperty("configured", true) end -- check if provided device id is a child of this quick app function QuickApp:childDeviceExist(deviceId) if deviceId == nil then return false end local dev = api.get('/devices/' .. tostring(deviceId)) if dev == nil then return false end return dev.parentId == self.id end -- init child devices or create if not exist function QuickApp:initChildDevice(variableName, deviceName, type, class) local childId = self:getVariable(variableName) if(self:childDeviceExist(childId) == false) then local child = self:createChildDevice({ name = deviceName, type = type }, class) childId = child.id self:setVariable(variableName, childId) self:trace(deviceName, "created:", child.id) end return self.childDevices[childId] end function QuickApp:createChildDevices() self:initChildDevices({ ["com.fibaro.electricMeter"] = Meter, ["com.fibaro.energyMeter"] = Meter, ["com.fibaro.powerMeter"] = PowerSensor, }) -- data from: /solar_api/v1/GetMeterRealtimeData.cgi?Scope=System endpoint self.childs.totalEnergyConsumedChild = self:initChildDevice("totalEnergyConsumedChild", "Total energy consumed", "com.fibaro.energyMeter", Meter) self.childs.totalEnergyConsumedChild:updateProperty("rateType", "consumption") -- data from: /solar_api/v1/GetPowerFlowRealtimeData.fcgi endpoint -- total energy produced (kWh) self.childs.totalEnergyChild = self:initChildDevice("totalEnergyChild", "Total energy produced", "com.fibaro.energyMeter", Meter) self.childs.totalEnergyChild:updateProperty("rateType", "production") -- total energy produced in a day (kWh) -- self.childs.totalEnergyDayChild = self:initChildDevice("totalEnergyDayChild", "Day Consumption", "com.fibaro.electricMeter", Meter) -- current production (W) self.childs.currentPowerChild = self:initChildDevice("currentPowerChild", "Production", "com.fibaro.powerMeter", PowerSensor) self.childs.currentPowerChild:updateProperty("rateType", "production") -- current grid power (W) -- from docs: value is null if no meter is enabled ( + from grid , - to grid ) self.childs.currentGridChild = self:initChildDevice("currentGridChild", "Grid", "com.fibaro.powerMeter", PowerSensor) -- self.childs.grid = self:initChildDevice("totalEnergyDayHouseC", "Total energy house day", "com.fibaro.electricMeter", Meter) end function QuickApp:setChildVisibility(childName, visible) local child = self.childs[childName] if child == nil then self:warning(string.format("Child %s not found", childName)) return end local previousVisible = child:getVariable("visible") if previousVisible ~= visible then child:setVisible(visible) child:setVariable("visible", visible) self:debug(string.format("Changing visibility of the child device (id:%d). Visible value: %s", child.id, visible)) end end -- fetch general data function QuickApp:fetchGeneralData() local requestUrl = string.format("http://%s:%s/solar_api/v1/GetPowerFlowRealtimeData.fcgi", self.ip, self.port) self:trace("Sending request:", requestUrl) self.http:request(requestUrl, { options = { method = "GET", headers = { ["Accept"] = "application/json" } }, success = function(response) if (response.status == 200) then self:updateProperty("log", "") self:parseGeneralData(response.data) end -- loop the request fibaro.setTimeout(tonumber(self.timeout) * 1000, function () self:fetchGeneralData() end) end, error = function(err) self:error(tostring(err)) self:updateProperty("log", "Connection error") fibaro.setTimeout(tonumber(self.timeout) * 1000, function () self:fetchGeneralData() end) end }) end function QuickApp:parseGeneralData(data) local fronius = json.decode(data) self:trace(data) self.E_Total = fronius.Body.Data.Site.E_Total or 0 -- total energy produced self.P_PV = fronius.Body.Data.Site.P_PV or 0 -- current power self.P_Grid = fronius.Body.Data.Site.P_Grid or 0 self.P_Load = fronius.Body.Data.Site.P_Load or 0 self.P_Akku = fronius.Body.Data.Site.P_Akku or 0 self:updateView("mode", "text", "Mode: " .. fronius.Body.Data.Site.Mode) if self.P_Grid ~= json.null() then self:setChildVisibility("currentGridChild", true) self.childs.currentGridChild:updateProperty("log", "") local gridValue = string.format("%.0f", self.P_Grid) self:updateView("grid", "text", "Linky: - Injection / + Conso: " .. gridValue .. " W") self.childs.currentGridChild:setValue(gridValue) if self.P_Grid < 0 then self.childs.currentGridChild:updateProperty("log", "Injection linky") else self.childs.currentGridChild:updateProperty("log", "Conso linky") end else self.childs.currentGridChild:updateProperty("log", "Meter not connected") self:setChildVisibility("currentGridChild", false) -- hiding unused device end if self.P_Load ~= json.null() then self:updateView("load", "text", "Conso maison: " .. string.format("%.3f", self.P_Load) .. " W") end if self.P_Akku ~= json.null() then self:updateView("akku", "text", "Batterie: - Charge / + Decharge: " .. string.format("%.3f", self.P_Akku) .. " W") end if self.P_PV ~= json.null() then self:updateView("current", "text", "Fronius: " .. string.format("%.3f",self.P_PV) .. " W") self.childs.currentPowerChild:updateProperty("value", self.P_PV) end self:updateView("total", "text", "Index Total: " .. string.format("%.3f",self.E_Total / 1000) .. " kWh") self.childs.totalEnergyChild:setValue((self.E_Total) / 1000) self:updateView("day", "text", "Index Journaliere: " .. string.format("%.3f",fronius.Body.Data.Site.E_Day / 1000) .. " kWh") --self.childs.totalEnergyDayChild:setValue(fronius.Body.Data.Site.E_Day / 1000) self:updateView("year", "text", "Index Annuel: " .. string.format("%.3f", fronius.Body.Data.Site.E_Year / 1000) .. " kWh") end -- fetch meter data -> not used for now function QuickApp:fetchMeterData() self.http:request("http://" .. self.ip .. ":" .. self.port .. "/solar_api/v1/GetMeterRealtimeData.cgi?Scope=System", { options = { method = "GET", timeout = 10000, headers = { ["Accept"] = "application/json" } }, success = function(response) if (response.status == 200) then self:parseMeterData(response.data) end fibaro.setTimeout(tonumber(self.timeout) * 1000, function () self:fetchMeterData() end) end, error = function(err) self:error(tostring(err)) fibaro.setTimeout(tonumber(self.timeout) * 1000, function () self:fetchMeterData() end) end }) end function QuickApp:parseMeterData(data) local fronius = json.decode(data) if fronius == nil or fronius.Body == nil or fronius.Body.Data["0"] == nil then self:trace("Unable to download meter data.") self.childs.totalEnergyConsumedChild:updateProperty("log", "Meter not connected") self:setChildVisibility("totalEnergyConsumedChild", false) -- hiding unused device return end self.childs.totalEnergyConsumedChild:updateProperty("log", "") self:setChildVisibility("totalEnergyConsumedChild", true) self.E_Total_Consumed = fronius.Body.Data["0"].EnergyReal_WAC_Sum_Consumed or 0 -- total energy consumed if self.E_Total_Consumed ~= json.null() then self:updateView("totalConsumption", "text", "Index Conso Linky Annuel: " .. string.format("%.3f",self.E_Total_Consumed / 1000) .. " kWh") self.childs.totalEnergyConsumedChild:setValue((self.E_Total_Consumed) / 1000) end self.E_Total_Produced = fronius.Body.Data["0"].EnergyReal_WAC_Sum_Produced or 0 -- total energy exported (not used for now) end API Fronius.pdf
-
et c'est la ou je ne suis plus d'accord un il faut un nombre pas possible d'applet et en plus payant, donc je suis passé par siri ou alexa avec la problématique d'exposer sa box mais c'est vrai a partir du moment ou tu utilise un assistant vocal... Se qui ne me dérange pas personnellement