-
Compteur de contenus
102 -
Inscription
-
Dernière visite
-
Jours gagnés
1
Tout ce qui a été posté par triossrf
-
Autant pour moi @Lazer, il s'agit juste une erreur de copier/collé. sur mon code j'ai bien utiliser la borne synthax soit: local APIProfil= api.get("/profiles").activeProfile local APIState = api.get("/devices/"..WalliDimmer).properties.state self:debug("Intensite:" ..ApiIntensite) self:debug("State:" ..APIState) Je n'ai pas utilisé cette variable plus haut et le message d'erreur est bien là. Alors je m'était dis que de base quand on va chercher un api, il s'attend à une valeur numérique et non pas Boolean ou string. Je pense cependant que je l'ai bien localisé mais il est peut-être tout simplement pas possible de retourner une valeur autre que des numériques? Si cela peut éclairer voici une partie du JSON. (j'ai supprimer un petit peu pour que cela soit plus lisible) { "id": 522, "name": "Lumiere", "roomID": 230, "view": [ ... ], "properties": { "parameters": [ ... ], ], "configured": true, "dead": false, "deadReason": "", "deviceControlType": 23, "deviceIcon": 15, "endPointId": 0, "energy": 0.03, "firmwareUpdate": { "info": "", "progress": 0, "status": "UpToDate", "updateVersion": "5.1" }, "isLight": true, "localProtectionState": 0, "localProtectionSupport": 5, "log": "", "logTemp": "", "manufacturer": "", "markAsDead": true, "model": "", "nodeId": 48, "parametersTemplate": "836", "power": 0, "productInfo": "1,15,28,1,16,0,5,1", "protectionExclusiveControl": 0, "protectionExclusiveControlSupport": false, "protectionState": 0, "protectionTimeout": 0, "protectionTimeoutSupport": false, "saveLogs": true, "saveToEnergyPanel": true, "serialNumber": "h'000000000000d04d", "showEnergy": true, "state": false, <---- IL EST LA L AFFREUX !!!! "updateVersion": "", "useTemplate": true, "userDescription": "", "value": 0 },
-
@Fredmas Effectivement je me suis fais le raisonnement , je pense qu'on ne peut pas avoir de résultat à cet endroit. Mais j'essai toujours de trouver des valeurs non numérique, je m'explique. Quand je fais la synthax suivante: local ApiIntensite = api.get("/devices/"..WalliDimmer).properties.value self:debug("Intensite:" ..ApiIntensite) On obtien la valeur de "value": 0 (extrait du JSON) Par contre si je met: local ApiIntensite = api.get("/devices/"..WalliDimmer).properties.state self:debug("State:" ..APIState) Je devrais obtenir un true ou un false cependant j obtiens dans la console: [ERROR] [QUICKAPP530]: main.lua:22: attempt to concatenate a boolean value (local 'APIState') Je me doute qu'il s'agit d'une erreur de synthaxe, j'ai essayer avec plusieurs manière de l'écrire. Mais je sèche.
-
Salut @971jmd ! As tu résolu le souci? Si non, envoi le débug je peu peut etre t'aider
-
salut @971jmd, J'ai publié mon Q.A si cela peut t'aider. Lien URL : Q.A Walli Tiens moi au jus si cela ta aidé.
-
Salut tout le monde. Je vous partage un petit Quick App qui est encore en développement mais qui fonctionne très bien. Etant débutant en LUA, le code n'est certainement pas optimisé et je suis preneur de conseil. L'idée de ce Q.A était d'avoir une gestion des lumières Walli pour diverse usages (Veilleuses, ambiance, indicateur de présence dans une pièce, météo etc...) et de pouvoir avoir une gestion automatique ou manuel des leds. Un merci tout d'abord à @fredokl, @Fredmas et @Lazer qui m'ont aidé à faire mon premier Q.A via le forum. Téléchargement du Q.A: => Pour ce qui est des icones j'avais demandé à @fredokl de me faire des jolies icones pour mon Q.A. Good job! Code Q.A: -- QA Réglage Walli -- Créé par triossrf -- Aidé par fredokl , Fredmas , Lazer -- Version 0.5 le 09/12/2021 -- Crée pour la communauté https://www.domotique-fibaro.fr/ __TAG = "QA_"..plugin.mainDeviceId.."_SALON_Walli" local Walli = 58 function QuickApp:onInit() self:debug("onInit") self:ActiveWalli() self:WalliMaj() self:Icone() self:loop() end --[[ ******************************************* *** On/Off Walli *** ******************************************* ]]-- function QuickApp:ActiveWalli() local VarAutoMan = self:getVariable("Mode") local VarIco = self:getVariable("Icone") local VarJourNuit = self:getVariable("JourNuit") local Volet = self:getVariable("EtatVolet") local VarProfiles = self:getVariable("Profiles") local VarIco = self:getVariable("Icone") local VarEtatWalli = self:getVariable("EtatWalli") local APIVolet = api.get("/devices/"..Walli).properties.value --< Variable de la Valeur du volet local APIProfil= api.get("/profiles").activeProfile --< Variable du Profile Actif local VarSunrise = api.get("/settings/info").sunriseHour local VarSunset = api.get("/settings/info").sunsetHour self:debug("Profiles N°:" ..APIProfil) self:debug("Volet: " ..APIVolet.. " %") self:debug("Variable Icone:", self:getVariable("Icone")) self:debug("Mode activé:", self:getVariable("Mode")) self:debug("Etat Walli:", self:getVariable("EtatWalli")) --M.A.J Variables if APIProfil == 1 then --< Profil Présent self:setVariable("Profiles", "Présent") elseif APIProfil == 2 then --< Profil Absent self:setVariable("Profiles", "Absent") end if APIVolet == 0 then --< Volet Fermé à 0 % self:setVariable("EtatVolet", "Fermé") self:debug("Etat Volet:", self:getVariable("EtatVolet")) else self:setVariable("EtatVolet", "Ouvert") --< + de 0 % Volet Ouvert self:debug("Etat Volet:", self:getVariable("EtatVolet")) end if VarSunrise > VarSunset then --< Variable Jour self:setVariable("JourNuit", "Jour") self:debug("Validation Jourt:", self:getVariable("JourNuit")) end if VarSunrise < VarSunset then --< Variable Nuit self:setVariable("JourNuit", "Nuit") self:debug("Validation Nuit:", self:getVariable("JourNuit")) end --Activation/Désactivation Walli if Volet == "Fermé" and VarProfiles == "Présent" and VarAutoMan=="Automatique" then fibaro.call(Walli, 'setRingOnColor', "green") fibaro.call(Walli, 'setRingOffColor', VarIco) self:setVariable("EtatWalli", "Allumé") self:debug("Volet Fermé / Profils Présent") end if Volet == "Ouvert" and VarProfiles == "Présent" and VarAutoMan=="Automatique" then fibaro.call(Walli, 'setRingOnColor', "green") fibaro.call(Walli, 'setRingOffColor', "none") self:setVariable("EtatWalli", "Eteint") self:debug("Volet Ouvert / Profils Présent") end if VarProfiles == "Absent" then fibaro.call(Walli, 'setRingOnColor', "none") fibaro.call(Walli, 'setRingOffColor', "none") self:setVariable("EtatWalli", "Eteint") self:updateProperty("deviceIcon", 1066) self:debug("Profils Absent") end end --[[ ******************************************* *** M.A.J Icone *** ******************************************* ]]-- function QuickApp:Icone() local VarAutoMan = self:getVariable("Mode") local VarIco = self:getVariable("Icone") local VarEtatWalli = self:getVariable("EtatWalli") if VarIco == "blue" and VarEtatWalli == "Allumé" then self:updateProperty("deviceIcon", 1062) self:updateView("labelBur", "text", "------------------ \r Salon \r ------------------ \r Walli: Bleu \r ------------------\r Mode :"..VarAutoMan ) elseif VarIco == "white" and VarEtatWalli == "Allumé" then self:updateProperty("deviceIcon", 1066) self:updateView("labelBur", "text", "------------------ \r Salon \r ------------------ \r Walli: Blanc \r ------------------\r Mode :"..VarAutoMan ) elseif VarIco == "red" and VarEtatWalli == "Allumé" then self:updateProperty("deviceIcon", 1068) self:updateView("labelBur", "text", "------------------ \r Salon \r ------------------ \r Walli: Rouge \r ------------------\r Mode :"..VarAutoMan ) elseif VarIco == "cyan" and VarEtatWalli == "Allumé" then self:updateProperty("deviceIcon", 1063) self:updateView("labelBur", "text", "------------------ \r Salon \r ------------------ \r Walli: Cyan \r ------------------\r Mode :"..VarAutoMan ) elseif VarIco == "green" and VarEtatWalli == "Allumé" then self:updateProperty("deviceIcon", 1064) self:updateView("labelBur", "text", "------------------ \r Salon \r ------------------ \r Walli: Vert \r ------------------\r Mode :"..VarAutoMan ) elseif VarIco == "yellow" and VarEtatWalli == "Allumé" then self:updateProperty("deviceIcon", 1069) self:updateView("labelBur", "text", "------------------ \r Salon \r ------------------ \r Walli: Jaune \r ------------------\r Mode :"..VarAutoMan ) elseif VarIco == "magenta" and VarEtatWalli == "Allumé" then self:updateProperty("deviceIcon", 1067) self:updateView("labelBur", "text", "------------------ \r Salon \r ------------------ \r Walli: Rose \r ------------------\r Mode :"..VarAutoMan ) elseif VarEtatWalli == "Eteint" then self:updateProperty("deviceIcon", 1066) self:updateView("labelBur", "text", "------------------ \r Salon \r ------------------ \r Walli: Eteint \r ------------------\r Mode :"..VarAutoMan ) end end --[[ ******************************************* *** Boutons *** ******************************************* ]]-- function QuickApp:Manuel() self:setVariable("Mode", "Manuel") self:Icone() end function QuickApp:Auto() self:setVariable("Mode", "Automatique") self:Icone() end function QuickApp:turnOffBur() self:setVariable("Mode", "Manuel") fibaro.call(Walli, 'setRingOffColor', "none") fibaro.call(Walli, 'setRingOnColor', "none") self:updateProperty("deviceIcon", 1066) self:setVariable("EtatWalli", "Eteint") self:Icone() end function QuickApp:CyanBur() self:setVariable("Mode", "Manuel") fibaro.call(Walli, 'setRingOffColor', "cyan") fibaro.call(Walli, 'setRingOnColor', "red") self:setVariable("Icone", "cyan") self:setVariable("EtatWalli", "Allumé") self:Icone() end function QuickApp:BleuBur() self:setVariable("Mode", "Manuel") fibaro.call(Walli, 'setRingOffColor', "blue") fibaro.call(Walli, 'setRingOnColor', "red") self:setVariable("EtatWalli", "Allumé") self:setVariable("Icone", "blue") self:Icone() end function QuickApp:BlancBur() self:setVariable("Mode", "Manuel") fibaro.call(Walli, 'setRingOffColor', "white") fibaro.call(Walli, 'setRingOnColor', "red") self:setVariable("EtatWalli", "Allumé") self:setVariable("Icone", "white") self:Icone() end function QuickApp:VertBur() self:setVariable("Mode", "Manuel") fibaro.call(Walli, 'setRingOffColor', "green") fibaro.call(Walli, 'setRingOnColor', "red") self:setVariable("Icone", "green") self:Icone() end function QuickApp:RougeBur() self:setVariable("Mode", "Manuel") fibaro.call(Walli, 'setRingOffColor', "red") fibaro.call(Walli, 'setRingOnColor', "green") self:setVariable("Icone", "red") self:setVariable("EtatWalli", "Allumé") self:Icone() end function QuickApp:JauneBur() self:setVariable("Mode", "Manuel") fibaro.call(Walli, 'setRingOffColor', "yellow") fibaro.call(Walli, 'setRingOnColor', "red") self:setVariable("Icone", "yellow") self:setVariable("EtatWalli", "Allumé") self:Icone() end function QuickApp:RoseBur() self:setVariable("Mode", "Manuel") fibaro.call(Walli, 'setRingOffColor', "magenta") fibaro.call(Walli, 'setRingOnColor', "blue") self:setVariable("Icone", "magenta") self:setVariable("EtatWalli", "Allumé") self:Icone() end --[[ ******************************************* *** SLIDER+Variable *** ******************************************* ]]-- function QuickApp:Brightness(event) Intensite = event.values[1] walliBur = fibaro.call(Walli, 'setRingBrightness', Intensite) self:debug("Slider", Intensite) --<Affiche la valeur du slider dans le débug> self:updateView("LblSlider", "text", "Intensité: " ..Intensite.. "%") --<M.A.J Intensité dans un Label> self:setVariable("WalliLu", Intensite) --<Creation d'une variable dans le Q.A lorsqu'on positionne le Slider> local VarWalli = self:getVariable("WalliLu") --<Lecture de la variable WalliLu> self:debug("WalliLu:" ..VarWalli) --<Débug Variable WalliLu> self:updateView("SliderBrightness", "value", tostring(VarWalli)) --<M.A.J Slider automatiquement à l'ouverture du Q.A> end --[[ ******************************************* *** M.A.J SLIDER *** ******************************************* ]]-- function QuickApp:WalliMaj() local APIBrillance = api.get("/devices/"..Walli).properties.parameters[3].lastSetValue --<Cherche la valeur lastSetValue de l'ID 13 dans le fichier Json> self:debug("Intensite:" ..APIBrillance) --<Débug A.P.I > self:updateView("LblSlider", "text", "Intensité: " ..APIBrillance.. "%") --<M.A.J Slider> self:updateView("SliderBrightness", "value", tostring(APIBrillance)) --<M.A.J Slider> end --[[ ******************************************* *** Boucle *** ******************************************* ]]-- function QuickApp:loop() self:ActiveWalli() self:Icone() fibaro.setTimeout(10*3000, function() self:loop() end) end Walli1.1.fqa
-
Salut. Question peut être bête, mais quel est l'intérêt de coder en HTML plutôt que en LUA le Quick App?
-
Salut a tous. Me revoilà avec une petite question. Je me suis amuser à utiliser le API.get mais cela ne fonctionne pas pour tout et je ne sais l'expliquer... Des lumières aussi briantes que vous pourrons m'éclairer je n'en doute pas. Je voulais donc récupérer la valeur suivantes (ringcolor, je suppose que c'est la couleur actuel): "type": "com.fibaro.FGWR111", "baseType": "com.fibaro.FGR", "enabled": true, "visible": true, "isPlugin": false, "parentId": 38, "viewXml": false, "configXml": false, "interfaces": [ "energy", "levelChange", "power", "ringColor", <----- Je voudrais la valeur du ringcolor "zwave", "zwaveAlarm", "zwaveMultiChannelAssociation", "zwaveProtection" ], J'ai donc écrit le code suivant: local Walli = 41 local APIRing = api.get("/devices/"..Walli).interfaces.ringColor function QuickApp:WalliMaj() self:debug("APIRING:" ..APIRing) --<Débug A.P.I > end Ce qui me donne la réponse: main.lua:61: attempt to concatenate a nil value (upvalue 'APIRing') J'ai essayer plusieurs synthax mais le résultat n'est jamais concluant. Pourtant j'arrive à récupérer d'autres éléments mais seulement numérique mais dés lors que c'est du texte ou du boolean hé bien je n'est pas de résultat. merci du coup de pousse.
-
Salut @971jmd Pour ma part je n'ai pas réussi à le gérer en RGB mais seulement avec les couleurs définis 0- none 1- white 2- red 3- green 4- blue 5- yellow 6- cyan 7- magenta D'ailleurs, je suis en train de faire un petit Q.A pour la gestion des couleurs des walli si sa t'intéresse je peu te le transmettre.
-
Merci pour vos réponses, je vais essayer tout cela prochainement
-
@971jmd As tu réussis à faire un api.put ?
-
Bah disons qu'au lieu de faire une boucle toutes les 10 secondes, j aurais une fonction qui prenne en compte en temps réel et qu'une seul fois un changement d état du volet sa éviterai à la machine de tourner pour rien. Après, si il n y a aucun impact sur la machine autant faire cela puisque ça marche. Je m étai dis que si il y a 20 Q.A qui ont des settimeout toutes les 10 secondes sa doit tirer sur la machine. ( je n ai pas de recul suffisant pour savoir ce que peut supporter la hc3) .
-
Effectivement tu as mit le doigt dessus! Il y'a plusieurs raison à cela. 1- Pour éviter de solliciter la box pour rien. Si mon volet change 4 fois max d'état par jours je trouve cela dommage de faire une boucle toute les 30 secondes pour vérifier l'état. 2- Effectivement, j'aurai bien aimé qu'il y ai un peu d'instantanéité à la fin de la lecture de la fonction. Il n'y a donc pas possibilité de détecter instantanément un changement de variable (local ou global) ? Cela pourrait permettre de résoudre mon problème.
-
Bonsoir à tous. J'aimerai savoir si il y' a d'autre méthode dans un Q.A mise à part le settimeout? je m'explique: Ce soir j'ai fais un bout de code qui est le suivant: local Volet = fibaro.getValue(Walli, "value") function QuickApp:ActiveWalli() if Volet == 0 then self:setVariable("EtatVolet", "Fermé") fibaro.call(Walli, 'setRingOnColor', "green") fibaro.call(Walli, 'setRingOffColor', "blue") self:debug("Volet fermé") else self:setVariable("EtatVolet", "Ouvert") fibaro.call(Walli, 'setRingOnColor', "none") fibaro.call(Walli, 'setRingOffColor', "none") self:debug("Volet ouvert") end end Est-ce qu'il n'y a pas possibilité de faire une lecture instantanée des variables lors d'un changement d'état du volet par exemple? J'ai bien pensé à faire un self:ActiveWalli(), mais tout logiquement il me Lit la variable à l'infini tant qu'il n'y a pas de changement d'état. Si jamais il y a des méthodes plus pertinentes que le settimeout. Je suis preneur. Merci.
-
Pour revenir aux moutons de @971jmd! Et non, on ne ta pas oublié ! Je pense que l'on peut utiliser les codes suivants: api.delete("") api.get("") api.post("", {}) api.put("", {}) Aprés c'est toujours le même soucis, il faut trouver la bonne synthax ^^
-
Vous êtes des machines les mecs ! En tout cas dans ce topic j'aurais appris comment aller chercher dans l'A.P.I et comment faire une boucle. Si je comprend bien, ipairs correspond à un index ou une valeur numérique? Par contre je n'ai pas compris la subtilité du "_" a la place du "i".
-
Salut @971jmd. Je ne sais pas si c'est exactement ça que tu entends par "put", mais je suppose que tu veux récupérer la valeur de l'API (l'ID , lastReportedValue, etc...) afin de le mettre dans un label par exemple? Si oui, je récupère les données de l'API afin de mettre à jour un label en lien avec un slider. J'ai procédé de cette manière. function QuickApp:onInit() self:WalliMaj() end local Brillance = api.get("/devices/"..Walli).properties.parameters[3].lastSetValue --<Cherche la valeur lastSetValue de l'ID 13 dans le fichier Json> function QuickApp:WalliMaj() self:debug("Intensite:" ..Brillance) --<Débug Local Brillance> self:updateView("LblSlider", "text", "Intensité:" ..Brillance) --<M.A.J Lbl Slider> self:updateView("SliderBrightness", "value", tostring(Brillance)) --<M.A.J Slider> end
-
Si jamais cela peu aider d'autre personne dans l'utilisation des Slider Voilà donc la conclusion de ce topic. function QuickApp:onInit() self:debug("onInit") end function QuickApp:Brightness(event) Intensite = event.values[1] walliBur = fibaro.call(41, 'setRingBrightness', Intensite) self:debug("Slider", Intensite) --<Affiche la valeur du slider dans le débug> self:updateView("LblSlider", "text", "Intensité:" ..Intensite) --<M.A.J Intensité dans un Label> self:setVariable("WalliLu", Intensite) --<Creation d'une variable dans le Q.A lorsqu'on positionne le Slider> local VarWalli = self:getVariable("WalliLu") --<Lecture de la variable WalliLu> self:debug("WalliLu:" ..VarWalli) --<Débug Variable WalliLu> self:updateView("SliderBrightness", "value", tostring(VarWalli) ) --<M.A.J Slider automatiquement à l'ouverture du Q.A> end
-
Effectivement, on peut chercher un moment sans le "tostring" rien ne fonctionne. Je me demande comment vous arrivez à savoir qu'il faut mettre un tostring pour que ça marche, d'autant plus que sur une slider on utilisera jamais de chaine de caractère si je me trompe pas. En tout cas un grand merci à vous. Grâce à vous j'ai compris comment fonctionnent les slider, je vais essayer de synthétiser tout cela afin que ce Topic serve à d'autre personnes .
-
Décidément, en ce moment je te prend beaucoup de ton temps. Considéré moi comme un padawan de première année qui à juste un bâton de bois en guise de sabre laser Tu m'as transmis le code suivant afin que le Slider se mette automatiquement à la valeur d'une variable : Pour moi cela ne fonctionne pas. self:updateView("slidertoto", "value", valuetest) J'ai procédé de cet manière: -Création d'une variable quand je bouge le Slider (il est placé dans la fonction slider). self:setVariable("WalliLu", Intensite) --< WalliLu est la variable crée dans le Q.A Puis j'utilise le: self:updateView("slider", "value", WalliLu) Que j'ai placé dans le OnInit. Peut importe ce que je met à la place de WalliLu la barre du slider se place automatiquement à 0 dans le Dashboard. Ps: j'ai également essayé avec la local Brillance sur laquelle on à travailler hier soir, sans plus de résultat. Merci d'avance
-
Salut ! Je vous remercie pour vos réponses ! Pour un premier Q.A ce n'est pas évident. Avec : Brillance = api.get("/devices/"..Walli).properties.parameters[3].lastSetValue Cela fonctionne j'ai bien la valeur du lastSetValue de l'ID 13 qui s'affiche (je l'ai confirmer en remplaçant .lastSetValue par .ID) Je suis parti du principe qu'il s'agissait de la troisième table dans "Parameters du coup j'ai mit [3] et j'ai eu le résultat directement. "properties": { "parameters": [ { "id": 11, <-- Premiere table [1] "lastReportedValue": 2, "lastSetValue": 2, "size": 1, "value": 2 }, { "id": 12, <-- Deuxieme table [2] "lastReportedValue": 0, "lastSetValue": 0, "size": 1, "value": 0 }, { "id": 13, <-- Troisieme table [3] "lastReportedValue": 76, "lastSetValue": 76, "size": 1, "value": 76 }, Corriger moi si mon raisonnement est faux. Cependant je vais m'exercer à la méthode de @Lazer car, si j'ai besoin d'avoir une information sur la table 156, je compte pas les compter un par un En tout cas merci à vous pour votre aide, j'ai beaucoup appris.
-
Si je rajoute ce code: self:updateView("Label1", "text", "Intensité:" ..Brillance) j'obtiens dans le débug : [18.11.2021] [20:39:32] [ERROR] [QUICKAPP502]: main.lua:22: attempt to concatenate a nil value (global 'Brillance')
-
Oui correct j'ai bien rentré la local et j'avais déjà essayé avec les " " Le code complet donne cela: local Walli = 41 function QuickApp:test() Brillance = fibaro.getValue(Walli, "lastSetValue") self:debug("Intensité du Walli", Brillance) end Mais le débug m'affiche seulement : [18.11.2021] [20:26:45] [DEBUG] [QUICKAPP502]: onInit [18.11.2021] [20:26:45] [DEBUG] [QUICKAPP502]: Intensité du Walli sans aucune valeur concernant le lastsetvalue.
-
Salut @Fredmas et @971jmd ! Ce topic tombe à point nommé! J'arrive à faire sensiblement ce que vous avez expliqué, cependant je suis bloqué à la dernière étape, je m'explique: "properties": { "parameters": [ { "id": 13, "lastReportedValue": 28, "lastSetValue": 28, <--- La valeur qui m'interesse de récuperer. "size": 1, "value": 28 }, { "id": 11, "lastReportedValue": 4, "lastSetValue": 4, "size": 1, "value": 4 }, J'ai utilisé la syntaxe suivante au milieu de multiple essais catastrophiques... function QuickApp:test() Brillance = fibaro.getValue(Walli, lastSetValue) --Brillance = fibaro.getValue(Walli, "parameters").lastSetValue) self:debug("Slider", Brillance) end Tout en sachant que le deviceIcon fonctionne, il s'agit donc uniquement d'un problème de synthaxe... Le débug m'affiche la réponse suivante: [18.11.2021] [14:28:51] [ERROR] [QUICKAPP502]: main.lua:18: Wrong parameter type, string required. Provided param 'nil' is type of nil Merci d 'avance pour le coup de pousse!
-
D'accord. Je pensais que l'on pouvait avoir plus d'information que ça, d'où mon étonnement mais effectivement j'ai bien la valeur du Slider avec ce debug.
-
Du coup j'ai regardé le bout de code que tu m'as donné: self:debug("event :", json.encode(event)) J'ai pour résultat seulement la phrase suivante: [DEBUG] [QA_502_GESTION_WALLI]: event walli : {"deviceId":502,"elementName":"slider","values":[64],"eventType":"onChanged"} mais rien de plus sur les champs de cette table.