-
Compteur de contenus
1 352 -
Inscription
-
Dernière visite
-
Jours gagnés
33
Tout ce qui a été posté par flacon030
-
Personne ne peut donner une piste pour s'avoir comment associer un bouton d'un Quick app a une télécommande virtuel de ce même Quick app? Je voudrais associer un bouton de ce type a cela En partant de "paramètres" "ajouter un appareil" "autre appareil" "quick app" télécommande" Le but étant de créer une télécommande virtuel pour lancer des "scénarios" Mais si vous avez d'autres solution je suis preneur Merci
-
Bon ce n'ai pas propre comme code je ne sais pas simplifier les chose mais voici Un QA pour la gestion d'un player multimedia R_Volution https://rvolution.store/fr/160-lecteurs-multimedias Perso j'ai pris ce modèle https://rvolution.store/fr/lecteurs-multimedias/6272-rvolution-player-one-8k.html C'est un player multimédia qui tourne sous android, se qui permet d'installer d'autres applications Pour ma par j'y est ajouté une App IPTV, un smarttube (un youtube sans publicité), plex, ect.. L'avantage de ce player c'est qu'il lit tous formats vidéo et audio, le tous en très haute qualité (Les formats DTSX, dolby atmos, dolby vision, HDR, HDR10, HDR10+ sont tous fonctionnel) Je rippe mes DVD 4K avec make MKV et les place sur mon NAS Qnap 855x, et cela me permet de lire mes médias sans compression en qualité optimum a la façon d'un netflix, mais avec mes propres sources en 4K natif Cet équipement sera une des pièces principal de ma futur salle de cinéma, qui sera bien évidement piloté par la HC3 pour tous les scenarios d'ambiance lumineuse et qui permettra de remplacer toutes les télécommande par l’intermédiaire de scenarios J'ai mis les principales commandes de la télécommande Ci joint les doc pour les API pour ceux qui voudraient faire plus R_Volution.fqa IP Control for R_volution Amlogic based media players.pdf
-
Bonjour Comment attribuer un bouton a un QA télécommande -- Remote controller type have no actions to handle -- Method for emitting central scene events. Default value for keyAttribute is "Pressed" -- Sample usage: self:emitCentralSceneEvent(1, "Pressed") function QuickApp:emitCentralSceneEvent(keyId, keyAttribute) if keyAttribute == nil then keyAttribute = "Pressed" end local eventData = { type = "centralSceneEvent", source = self.id, data = { keyAttribute = keyAttribute, keyId = keyId } } api.post("/plugins/publishEvent", eventData) end -- To update controls you can use method self:updateView(<component ID>, <component property>, <desired value>). Eg: -- self:updateView("slider", "value", "55") -- self:updateView("button1", "text", "MUTE") -- self:updateView("label", "text", "TURNED ON") -- This is QuickApp inital method. It is called right after your QuickApp starts (after each save or on gateway startup). -- Here you can set some default values, setup http connection or get QuickApp variables. -- To learn more, please visit: -- * https://manuals.fibaro.com/home-center-3/ -- * https://manuals.fibaro.com/home-center-3-quick-apps/ function QuickApp:onInit() self:debug("onInit") -- Setup supported keys and attributes of the device -- Scenes will display possible triggers according to these values self:updateProperty("centralSceneSupport", { { keyAttributes = { "Pressed","Released","HeldDown","Pressed2","Pressed3" }, keyId = 1 }, { keyAttributes = { "Pressed","Released","HeldDown","Pressed2","Pressed3" }, keyId = 2 }, { keyAttributes = { "Pressed","Released","HeldDown","Pressed2","Pressed3" }, keyId = 3 }, { keyAttributes = { "Pressed","Released","HeldDown","Pressed2","Pressed3" }, keyId = 4 }, { keyAttributes = { "Pressed","Released","HeldDown","Pressed2","Pressed3" }, keyId = 5 }, }) end ??? function QuickApp:onClickButton() self:Btn("") end
-
Merci pour ce liens J'ai déjà un QA télécommande pour ma TV bravia (voir code ci dessous) il semble que le code soit presque similaire... Pour chaque bouton, seul la fin du liens change (exemple ci dessous) http://192.168.1.111/cgi-bin/do?cmd=ir_code&ir_code=AC534040 code=AC534040 est'il possible d'avoir une liste comme ci dessous ? ---IRCC code for the bouton Self. playPause = 'AC534040' ect... De créer chaque bouton comme ci dessous -- Configuration of the buttons --playPause function QuickApp:uibutton1_1(event) self.args = self.playPause self:remoteCode() end Mais que faut'il modifier dans ce code pour que la requête HTTP puisse fonctionner avec chaque bouton? Merci local http = net.HTTPClient() http:request("http://192.168.1.111/cgi-bin/do?cmd=ir_code&ir_code=AC534040", { success = function(response) if response.status == 200 then print('OK, réponse : '.. response.data) else print("Erreur : status=" .. tostring(response.status)) end end, error = function(err) print("Erreur : " .. err) end, options = { method = 'GET' } }) Voici le QA de ma télécommande pour TV bravia unction QuickApp:onInit() self.args = "SMURF" --variable to send to TV, will be updated when a button is pressed --IRCC codes for the buttons self.source = 'AAAAAQAAAAEAAAAlAw==' self.powerOn = 'AAAAAQAAAAEAAAAuAw==' self.powerOff = 'AAAAAQAAAAEAAAAvAw==' self.powerbutton = 'AAAAAQAAAAEAAAAVAw==' self.diAna = 'AAAAAgAAAHcAAAANAw==' self.tvRad = 'AAAAAgAAABoAAABXAw==' self.sync = 'AAAAAgAAABoAAABYAw==' self.exit = 'AAAAAQAAAAEAAABjAw==' self.num1 = 'AAAAAQAAAAEAAAAAAw==' self.num2 = 'AAAAAQAAAAEAAAABAw==' self.num3 = 'AAAAAQAAAAEAAAADAw==' self.num4 = 'AAAAAQAAAAEAAAADAw==' self.num5 = 'AAAAAQAAAAEAAAAEAw==' self.num6 = 'AAAAAQAAAAEAAAAFAw==' self.num7 = 'AAAAAQAAAAEAAAAGAw==' self.num8 = 'AAAAAQAAAAEAAAAHAw==' self.num9 = 'AAAAAQAAAAEAAAAIAw==' self.info = 'AAAAAQAAAAEAAAA6Aw==' self.zero = 'AAAAAQAAAAEAAAAJAw==' self.teletext = 'AAAAAQAAAAEAAAA/Aw==' self.googlePlay = 'AAAAAgAAAMQAAABGAw==' self.red = 'AAAAAgAAAJcAAAAlAw==' self.green = 'AAAAAgAAAJcAAAAmAw==' self.yellow = 'AAAAAgAAAJcAAAAnAw==' self.blue = 'AAAAAgAAAJcAAAAkAw==' self.tv = 'AAAAAQAAAAEAAAAkAw==' self.actionMenu = 'AAAAAgAAAJcAAAA2Aw==' self.epg = 'AAAAAQAAAAEAAAAOAw==' self.arrowUp = 'AAAAAQAAAAEAAAB0Aw==' self.arrowLeft = 'AAAAAQAAAAEAAAA0Aw==' self.enter = 'AAAAAQAAAAEAAABlAw==' self.arrowRight = 'AAAAAQAAAAEAAAAzAw==' self.arrowDown = 'AAAAAQAAAAEAAAB1Aw==' self.back = 'AAAAAgAAAJcAAAAjAw==' self.discover = 'AAAAAgAAABoAAABzAw==' self.home = 'AAAAAQAAAAEAAABgAw==' self.cycle = 'AAAAAQAAAAEAAAA7Aw==' self.chUp = 'AAAAAQAAAAEAAAAQAw==' self.mute = 'AAAAAQAAAAEAAAAUAw==' self.audio = 'AAAAAQAAAAEAAAAXAw==' self.rewind = 'AAAAAgAAAJcAAAAbAw==' self.play = 'AAAAAgAAAJcAAAAaAw==' self.fastforward = 'AAAAAgAAAJcAAAAcAw==' self.subtitle = 'AAAAAgAAAJcAAAAoAw==' self.skipBack = 'AAAAAgAAAJcAAAA8Aw==' self.pause = 'AAAAAgAAAJcAAAAZAw==' self.skipForward = 'AAAAAgAAAJcAAAA9Aw==' self.help = 'AAAAAgAAABoAAAB7Aw==' self.rec = 'AAAAAgAAAJcAAAAgAw==' self.stop = 'AAAAAgAAAJcAAAAYAw==' self.title = 'AAAAAgAAABoAAABlAw==' self.chDown = 'AAAAAQAAAAEAAAARAw==' self.netflix = 'AAAAAgAAABoAAAB8Aw==' self.volumeUp = 'AAAAAQAAAAEAAAASAw==' self.volumeDown = 'AAAAAQAAAAEAAAATAw==' self.pictureOff = 'AAAAAQAAAAEAAAA+Aw==' self.hdmi1 = 'AAAAAgAAABoAAABaAw==' self.hdmi2 = 'AAAAAgAAABoAAABbAw==' self.hdmi3 = 'AAAAAgAAABoAAABcAw==' self.hdmi4 = 'AAAAAgAAABoAAABdAw==' end -- function for sending the IRCC codes to the TV function QuickApp:remoteCode(args) self:debug ("function IRCC called") local sonyip = self:getVariable("ip"); local sonypsk = self:getVariable("psk"); function putMethod(requestUrl, data, successCallback, errorCallback) local http = net.HTTPClient() http:request(requestUrl, { options = { method = 'POST', headers = { ["Content-Type"] = "text/xml"; ["soapaction"] = '"urn:schemas-sony-com:service:IRCC:1#X_SendIRCC"'; ["x-auth-psk"] = '' .. sonypsk .. ''; }, data = data }, success = successCallback, error = errorCallback }) return args end local url = 'http://' .. sonyip .. '/sony/IRCC' local data = [[ <?xml version="1.0" encoding="utf-8"?> <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <s:Body> <u:X_SendIRCC xmlns:u="urn:schemas-sony-com:service:IRCC:1"> <IRCCCode>]] .. self.args .. [[</IRCCCode> </u:X_SendIRCC> </s:Body> </s:Envelope> ]] putMethod( url, data, function(resp) print('Status: ' .. resp.status) end, function(err) print('error' .. err) end ) end -- Configuration of the buttons --Source function QuickApp:uibutton1_1(event) self.args = self.source self:remoteCode() end --mic function QuickApp:uibutton1_2(event) self.debug ("no key (microphone)") --self:remoteCode() end --PowerCycle function QuickApp:uibutton1_3(event) self:debug ("power button pressed") self:debug (self.powerbutton) self.args = self.powerbutton self:remoteCode() end -- Digital/Analog function QuickApp:uibutton2_1(event) self.args = self.diAna self:remoteCode() end -- TV/Radio function QuickApp:uibutton2_2(event) self.args = self.tvRadio self:remoteCode() end -- Sync Menu function QuickApp:uibutton2_3(event) self.args = self.sync self:remoteCode() end -- exit function QuickApp:uibutton2_4(event) self.args = self.exit self:remoteCode() end -- Num 1 function QuickApp:uibutton3_1(event) self.args = self.num1 self:remoteCode() end -- Num 2 function QuickApp:uibutton3_2(event) self.args = self.num2 self:remoteCode() end -- Num 3 function QuickApp:uibutton3_3(event) self.args = self.num3 self:remoteCode() end -- Num 4 function QuickApp:uibutton4_1(event) self.args = self.num4 self:remoteCode() end -- Num 5 function QuickApp:uibutton4_2(event) self.args = self.num5 self:remoteCode() end -- Num 6 function QuickApp:uibutton4_3(event) self.args = self.num6 self:remoteCode() end -- Num 7 function QuickApp:uibutton5_1(event) self.args = self.num7 self:remoteCode() end -- Num 8 function QuickApp:uibutton5_2(event) self.args = self.num8 self:remoteCode() end -- Num 9 function QuickApp:uibutton5_3(event) self.args = self.num9 self:remoteCode() end -- info function QuickApp:uibutton6_1(event) self.args = self.info self:remoteCode() end -- Num 0 function QuickApp:uibutton6_2(event) self.args = self.num0 self:remoteCode() end -- Subtitle function QuickApp:uibutton6_3(event) self.args = self.subtitle self:remoteCode() end --Google Play function QuickApp:uibutton7_1(event) self.args = self.googlePlay self:remoteCode() end --Netflix function QuickApp:uibutton7_2(event) self.args = self.netflix self:remoteCode() end -- Red function QuickApp:uibutton8_1(event) self.args = self.red self:remoteCode() end -- Green function QuickApp:uibutton8_2(event) self.args = self.green self:remoteCode() end -- Yellow function QuickApp:uibutton8_3(event) self.args = self.yellow self:remoteCode() end -- Blue function QuickApp:uibutton8_4(event) self.args = self.blue self:remoteCode() end -- TV function QuickApp:uibutton9_1(event) self.args = self.tv self:remoteCode() end -- Action Menu function QuickApp:uibutton9_2(event) self.args = self.action self:remoteCode() end -- EPG function QuickApp:uibutton9_3(event) self.args = self.epg self:remoteCode() end -- Arrow up function QuickApp:uibutton10_1(event) self.args = self.arrowUp self:remoteCode() end -- Arrow Left function QuickApp:uibutton10_2(event) self.args = self.arrowLeft self:remoteCode() end -- OK/Enter button function QuickApp:uibutton10_3(event) self.args = self.enter self:remoteCode() end -- Arrow Right function QuickApp:uibutton10_4(event) self.args = self.arrowRight self:remoteCode() end -- Arrow Down function QuickApp:uibutton10_5(event) self.args = self.arrowDown self:remoteCode() end -- Back function QuickApp:uibutton11_1(event) self.args = self.back self:remoteCode() end -- Disover function QuickApp:uibutton11_2(event) self.args = self.diwscover self:remoteCode() end -- Home function QuickApp:uibutton11_3(event) self.args = self.home self:remoteCode() end -- Volume up function QuickApp:uibutton12_1(event) self.args = self.volumeUp self:remoteCode() end -- Cycle channel function QuickApp:uibutton12_2(event) self.args = self.diAna self:remoteCode() end -- Channel Up function QuickApp:uibutton12_3(event) self.args = self.channelUp self:remoteCode() end --volume down function QuickApp:uibutton13_1(event) self.args = self.volumeDown self:remoteCode() end -- Mute function QuickApp:uibutton13_2(event) self.args = self.mute self:remoteCode() end -- Channel Down function QuickApp:uibutton13_3(event) self.args = self.channelDown self:remoteCode() end -- Audio function QuickApp:uibutton14_1(event) self.args = self.audio self:remoteCode() end -- Rewind function QuickApp:uibutton14_2(event) self.args = self.rewind self:remoteCode() end -- Play function QuickApp:uibutton14_3(event) self.args = self.play self:remoteCode() end -- Fast forward function QuickApp:uibutton14_4(event) self.args = self.fastForward self:remoteCode() end -- Subtitle function QuickApp:uibutton15_1(event) self.args = self.subtitle self:remoteCode() end -- Skip Back function QuickApp:uibutton15_2(event) self.args = self.skipBack self:remoteCode() end -- Pause function QuickApp:uibutton15_3(event) self.args = self.pause self:remoteCode() end -- Skip forward function QuickApp:uibutton15_4(event) self.args = self.skipForward self:remoteCode() end -- Help function QuickApp:uibutton16_1(event) self.args = self.help self:remoteCode() end -- Record function QuickApp:uibutton16_2(event) self.args = self.record self:remoteCode() end -- Stop function QuickApp:uibutton16_3(event) self.args = self.stop self:remoteCode() end -- Title list function QuickApp:uibutton16_4(event) self.args = self.title self:remoteCode() end -- HDMI1 function QuickApp:uibutton17_1(event) self.args = self.hdmi1 self:remoteCode() end -- HDMI2 function QuickApp:uibutton17_2(event) self.args = self.hdmi2 self:remoteCode() end -- HDMI3 function QuickApp:uibutton17_3(event) self.args = self.hdmi3 self:remoteCode() end -- HDMI4 function QuickApp:uibutton17_4(event) self.args = self.hdmi4 self:remoteCode() end -- Power On function QuickApp:uibutton18_1(event) self.args = self.powerOn self:remoteCode() end -- Power Off function QuickApp:uibutton18_2(event) self.args = self.powerOff self:remoteCode() end
- 61 réponses
-
Je suis en cour de réalisation d'une télécommande pour un équipement de mon home cinéma J'ai tous une liste de requête http pour chaque fonction de la télécommande J'ai testé cela dans un QA et cela fonctionne local http = net.HTTPClient() http:request("http://192.168.1.111/cgi-bin/do?cmd=ir_code&ir_code=AC534040", { success = function(response) if response.status == 200 then print('OK, réponse : '.. response.data) else print("Erreur : status=" .. tostring(response.status)) end end, error = function(err) print("Erreur : " .. err) end, options = { method = 'GET' } }) A présent comment associer cette commande a un bouton virtuel? Merci Voici la liste des commandes en pièce jointe IP Control for R_volution Amlogic based media players.pdf
- 61 réponses
-
Merci pour le liens, je continue le sujet sur le liens
-
Bonjour Je voudrais faire un télécommande virtuel d'un de mes équipement home cinéma Comment envoyer une requette HTTP depuis un bouton virtuel d'un QA? Par exemple ceci est la commande que je dois envoyer pour un play / Pause http://192.168.1.111/cgi-bin/do?cmd=ir_code&ir_code=AC534040
-
mise a jour fait depuis deux jours, RAS pour le moment
-
Effectivement cela semble être une bonne solution Il y a "juste" le fait d’écrire un QA qui bloque pour ma par
-
Il semble que les serveur netatmo sont encore en vrac Cela me réconforte dans le fait de trouver des solutions alternative Il n'y a que le pluviomètre qui pour le moment me pose problème pour une solution de remplacement Mai je pense que je vais passer avec cette solution https://fr.aliexpress.com/item/1005006160477600.html?spm=a2g0o.productlist.main.11.3b3b228eRwpjOk&algo_pvid=e436fb94-1480-488f-bebc-8070476931dc&algo_exp_id=e436fb94-1480-488f-bebc-8070476931dc-10&pdp_ext_f={"order"%3A"7"%2C"eval"%3A"1"%2C"fromPage"%3A"search"}&pdp_npi=6%40dis!EUR!123.98!61.99!!!1008.79!504.40!%402103985c17589553289764800ead06!12000036047244327!sea!FR!0!ABX!1!0!n_tag%3A-29910%3Bd%3Ac85a3bc%3Bm03_new_user%3A-29895&curPageLogUid=dkUY9Gx0Jo5B&utparam-url=scene%3Asearch|query_from%3A|x_object_id%3A1005006160477600|_p_origin_prod%3A en 0/10V et un RGBW de chez fibaro Si non il y a aussi une version avec pulsation mais je ne sais pas comment le gérer, peut être avec un le compteur a impulsion de l'ecodevice
-
mise a jour effectué pas de problémes c'est tous de même plus lisible dans l'ensemble
-
Bonjour a tous voici la version ultime pour ma par Elle n'est pas parfaite mais fonctionnel Voici les données que je cherchais a avoir pour infludb et grafana J'ai ajouté par rapport a la dernière version les éléments suivants: La tension batterie La T° de la batterie Le courant de charge / décharge de la batterie Les tensions 230V de l'onduleur Les courants de l'onduleur Le cos Phi de l'onduleur Les tensions des PV1 et 2 Les courants des PV1 et 2 Se que je n'ai pas implémenté se sont: les tension en triphasé (430V) Les puissance en réactif en mono et triphasé Les puissances par phase en W et en Va Plus quelque autres éléments Fronius(1).fqa
-
C'est bon cela fonctionne J'avais fait une petite erreur j'avais mis courant d'un coté, et voltage de l'autre (voir capture) Merci encore pour ton aide
-
voici les données [03.09.2025] [09:13:35] [DEBUG] [QUICKAPP598]: onInit [03.09.2025] [09:13:36] [DEBUG] [QUICKAPP598]: { "Body" : { "Data" : { "0" : { "Controller" : { "Capacity_Maximum" : 16588.0, "Current_DC" : 5.3786226238703652, "DesignedCapacity" : 16588.0, "Details" : { "Manufacturer" : "BYD", "Model" : "BYD Battery-Box Premium HV", "Serial" : "P030T020Z2306091139 " }, "Enable" : 1, "StateOfCharge_Relative" : 35.399999999999999, "Status_BatteryCell" : 3.0, "Temperature_Cell" : 26.0, "TimeStamp" : 1756883610, "Voltage_DC" : 320.89999999999998 }, "Modules" : [] } } }, "Head" : { "RequestArguments" : { "Scope" : "System" }, "Status" : { "Code" : 0, "Reason" : "", "UserMessage" : "" }, "Timestamp" : "2025-09-03T07:13:35+00:00" } }
-
Il n'y a plus d'erreur mais la valeur ne remonte pas Voici mon code -- 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() self:trace("fetchInverterData") self:fetchInverterData() self:trace("fetchStorageData") self:fetchStorageData() 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 -- fetch Storage data --------------------------------------------------------------------------------------------------------------------------------- function QuickApp:fetchStorageData() self.http:request("http://" .. self.ip .. ":" .. self.port .. "/solar_api/v1/GetMeterRealtimeData.cgi", { options = { method = "GET", timeout = 10000, headers = { ["Accept"] = "application/json" } }, success = function(response) if (response.status == 200) then self:parseStorageData(response.data) end fibaro.setTimeout(tonumber(self.timeout) * 1000, function () self:fetchStorageData() end) end, error = function(err) self:error(tostring(err)) fibaro.setTimeout(tonumber(self.timeout) * 1000, function () self:fetchStorageData() end) end }) end function QuickApp:parseStorageData(data) local fronius = json.decode(data) self.Current_DC = type(fronius) == "table" and type(fronius.Body) == "table" and type(fronius.Body.Data) == "table" and type(fronius.Body.Data["0"]) == "table" and type(fronius.Body.Data["0"].Controller) == "table" and fronius.Body.Data["0"].Controller.Current_DC or 0 if type(self.Voltage_DC) == "number" then self:updateView("Voltage_DC", "text", "Tension batterie: " .. string.format("%.3f",self.Voltage_DC) .. " V") end end
-
Cela avance a present j'ai ce message d'erreur [02.09.2025] [17:30:02] [ERROR] [QUICKAPP598]: QuickApp crashed [02.09.2025] [17:30:02] [ERROR] [QUICKAPP598]: main.lua:496: bad argument #2 to 'format' (number expected, got nil) La ligne 496 est la suivante: if self.Voltage_DC ~= json.null() then self:updateView("Voltage_DC", "text", "Tension batterie: " .. string.format("%.3f",self.Voltage_DC) .. " V")
-
Si je ne mais pas Fronius cela ne fonctionne pas il y est pour toutes mes demandes qui fonctionnent comme celle ci qui se trouve sur une autre adresse JSON self.childs.totalEnergyConsumedChild:updateProperty("log", "") self:setChildVisibility("totalEnergyConsumedChild", true) self.E_Total_Produced = fronius.Body.Data["0"].EnergyReal_WAC_Sum_Produced or 0 -- total energy produit self.E_Total_Consumed = fronius.Body.Data["0"].EnergyReal_WAC_Sum_Consumed or 0 -- total energy consumed self.Frequency_Phase_Average = fronius.Body.Data["0"].Frequency_Phase_Average or 0 -- Ajout frequence self.Current_AC_Phase_1 = fronius.Body.Data["0"].Current_AC_Phase_1 or 0 -- Ajout courant ph1 self.Current_AC_Phase_2 = fronius.Body.Data["0"].Current_AC_Phase_2 or 0 -- Ajout courant ph2 self.Current_AC_Phase_3 = fronius.Body.Data["0"].Current_AC_Phase_3 or 0 -- Ajout courant ph3 self.Voltage_AC_Phase_1 = fronius.Body.Data["0"].Voltage_AC_Phase_1 or 0 self.Voltage_AC_Phase_2 = fronius.Body.Data["0"].Voltage_AC_Phase_2 or 0 self.Voltage_AC_Phase_3 = fronius.Body.Data["0"].Voltage_AC_Phase_3 or 0
-
c'est bien se que j'ai fait self.Current_DC = fronius.Body.Data["0"].Controller.Current_DC or 0 et je me retrouve avec ce message d'erreur [02.09.2025] [17:06:36] [ERROR] [QUICKAPP598]: QuickApp crashed [02.09.2025] [17:06:36] [ERROR] [QUICKAPP598]: main.lua:479: attempt to index a nil value (field 'Controller') Et si j'essaye cela j'ai ce message d'erreur self.Voltage_DC = fronius.Body.Data["0"]Controller.Voltage_DC or 0 [02.09.2025] [17:07:35] [ERROR] [QUICKAPP598]: QuickApp crashed [02.09.2025] [17:07:35] [ERROR] [QUICKAPP598]: main.lua:479: syntax error near 'or'
-
C'est cela le code en json brut? { "Body" : { "Data" : { "0" : { "Controller" : { "Capacity_Maximum" : 16588.0, "Current_DC" : 0.0, "DesignedCapacity" : 16588.0, "Details" : { "Manufacturer" : "BYD", "Model" : "BYD Battery-Box Premium HV", "Serial" : "P030T020Z2306091139 " }, "Enable" : 1, "StateOfCharge_Relative" : 95.099999999999994, "Status_BatteryCell" : 3.0, "Temperature_Cell" : 28.5, "TimeStamp" : 1756823536, "Voltage_DC" : 320.89999999999998 }, "Modules" : [] } } }, "Head" : { "RequestArguments" : { "Scope" : "System" }, "Status" : { "Code" : 0, "Reason" : "", "UserMessage" : "" }, "Timestamp" : "2025-09-02T14:32:20+00:00" } }
-
Non c'est bien ["0"] sauf erreur de ma par car avec le 0 seul cela ne fonctionnait pas, et pas plus avec [0] J'en avait déjà parlé ici Par contre cette fois ci cela ne fonctionne pas car il y a un autre chemin aprés le "0" qui est "Controller" puis ma variable "Current_DC" se qui devrait être self.Current_DC = fronius.Body.Data["0"].Controller.Current_DC or 0
-
Bon je trime a nouveau avec les liens JSON Je cherche a définir le chemin de l'image ci dessus J'ai essayer cela : self.Current_DC = fronius.Body.Data["0"].Controller.Current_DC or 0 Mais j'ai ce message d'erreur [01.09.2025] [17:05:02] [ERROR] [QUICKAPP598]: QuickApp crashed [01.09.2025] [17:05:02] [ERROR] [QUICKAPP598]: main.lua:417: attempt to index a nil value (field 'Controller')
-
Je viens de trouvé pour ceux que cela intéressé l'adresse API pour interroger la batterie http://192.168.1.88/solar_api/v1/GetStorageRealtimeData.cgi Et pour ceux que cela intéresse voici la doc officiel 42,0410,2012.pdf
-
Bonjour a tous Je suis en cour de migration des capteurs netatmo pour une solution de remplacement en Z-wave J'ai trouvé pour la chambre et le salon Pour le salon cela sera un A8-9 qui pourra remplacer avantageusement le station netatmo Pour la chambre cela sera un MH9-CO2-WA Mais pour le jardin je n'ai pas encore toutes les solutions pour tous les capteurs Je recherche des capteurs de préférence sur secteur et en Z-wave Quel solution selon vous? Pour l’anémomètre j'ai trouvé cela avec un RVBW de chez fibaro pour gérer le 0 /10V qui fonctionne très bien depuis deux ans avec cet anémomètre https://fr.aliexpress.com/item/1005003040267066.html?spm=a2g0o.productlist.main.7.53e86704hArCDw&algo_pvid=a2353163-50a9-4cf2-ace3-42b94e119d11&algo_exp_id=a2353163-50a9-4cf2-ace3-42b94e119d11-6&pdp_ext_f={"order"%3A"72"%2C"eval"%3A"1"}&pdp_npi=6%40dis!EUR!12.86!10.29!!!14.64!11.71!%402103846917565510245258197ef0e9!12000023395783700!sea!FR!726396417!X!1!0!n_tag%3A-29919%3Bd%3Ac85a3bc%3Bm03_new_user%3A-29895&curPageLogUid=RMpwmsxOKCZY&utparam-url=scene%3Asearch|query_from%3A|x_object_id%3A1005003040267066|_p_origin_prod%3A Pour le pluviomètre j'ai trouvé cela avec sortie 0-10V, mais comment interpréter les mm de pluie en 0 -10v? https://fr.aliexpress.com/item/1005006160714869.html?spm=a2g0o.detail.0.0.3119beiibeiiTe&mp=1&pdp_npi=5%40dis!EUR!EUR 163.98!EUR 81.99!!EUR 81.99!!!%40210390c217565553640368273e76a3!12000036049665720!ct!FR!726396417!!1!0&gatewayAdapt=glo2fra Pour la pressions atmosphérique j'ai trouvé cela toujours en 0 -10V https://fr.aliexpress.com/item/1005005812298050.html?spm=a2g0o.detail.0.0.4c4cdmrldmrlxD&mp=1&pdp_npi=5%40dis!EUR!EUR 23.59!EUR 23.59!!EUR 23.59!!!%40210390c217565554477842331e76a3!12000034438603197!ct!FR!726396417!!1!0&pdp_ext_f={"cart2PdpParams"%3A{"pdpBusinessMode"%3A"retail"}}&gatewayAdapt=glo2fra Et se que je recherche avant tous c'est un capteur de température humidité en solution z-wave sur secteur J'ai aussi cette solution en 0 - 10v https://fr.aliexpress.com/item/1005007010065869.html?spm=a2g0o.cart.0.0.4f08378d5JtUP4&mp=1&pdp_npi=5%40dis!EUR!EUR 27.19!EUR 27.19!!EUR 27.19!!!%40211b813f17565559231114352efe5a!12000039050654131!ct!FR!726396417!!1!0&pdp_ext_f={"cart2PdpParams"%3A{"pdpBusinessMode"%3A"retail"}}&gatewayAdapt=glo2fra
-
Quick App - Pilotage climatisation PAC Mitsubishi en local avec ESP32
flacon030 a répondu à un(e) sujet de Lazer dans Quick App Developpeur
Du coup tu va aussi te retrouvé aussi ennuyé par le problème du liens [GitHub] geoffdavis / esphome-mitsubishiheatpump qui ne semble plus fonctionner, comme je l'avais signalé dans les précédents posts -
Et bien il faut pas être pressé...