Aller au contenu

jjacques68

Membres confirmés
  • Compteur de contenus

    4 358
  • Inscription

  • Dernière visite

  • Jours gagnés

    39

Tout ce qui a été posté par jjacques68

  1. jjacques68

    API scenescontrol probleme

    alors est ce que ce user a le droit d'accès à ta scène ?
  2. jjacques68

    API scenescontrol probleme

    tu utilises le super user pour t'identifier ?
  3. jjacques68

    API scenescontrol probleme

    pour Mozilla le plugin c'est HttpRequester ! il est tiptop !
  4. jjacques68

    API scenescontrol probleme

    J'ai eu le même genre de soucis, et en utilisant le request marker de Chrome ça a corriger le problème. Je pense que le soucis vient du navigateur Instal ce plugin et essayes denouveau. il existe un similaire pour Firefox que j'utlise personnellement...
  5. @ggpublic, il faudrait vérifier le message indiqué dans le label... apres je toucherai pas au timeout de la requête. eventuellement augmenter le temps dans le setTimeout.
  6. Bonjour à tous ! Question : y a t'il un moyen simple pour lister les device éclairage par section ? et bien sur que cette liste soit exploitable en LUA. J'ai fait ça qui marche très bien, mais franchement... à s'arracher les cheveux !!! un tableau de tableau pour y stocker les valeurs... Y a certainement plus simple non ? --[[ %% properties %% events %% globals --]] local rooms = api.get("/rooms") local sections = api.get("/sections") local devices = api.get("/devices") local liste={} local C=1 --index des colonnes local L=1 --index des lignes liste[L]={} --création d'un tableau dans la première ligne for i,_ in ipairs(sections) do --pour chaque section for j,_ in ipairs(rooms) do --pour chaque pièce if rooms[j].sectionID == sections[i].id then --si l'id de la pièces = l'id de la section for k,_ in ipairs(devices) do --pour chaque device if devices[k].roomID == rooms[j].id --si l'id du device = l'id de la pièce and devices[k].properties.isLight == true --et que c'est une lumière and devices[k].visible == true then --et qu'il est visible if C==1 then --ajoute l'id de la section dans la première colonne de la ligne liste[L][C] = sections[i].name print("<font color = 'magenta'>L"..L.."C"..C.." "..liste[L][C].."</font>") end C=C+1 --passe à la colone suivante liste[L][C] = devices[k].name --ajoute l'ID trouvé print("L"..L.."C"..C.." "..liste[L][C]) end end end end --on passe à la section suivante L=L+1 --nouvelle ligne pour nouvelle section liste[L]={} --création d'un nouveau tableau dans la nouvelle ligne C=1 --retour à la première colonne end résultat du debug : [DEBUG] 10:30:23: L1C1 Sous sol [DEBUG] 10:30:23: L1C2 Eclairage Chaufferie [DEBUG] 10:30:23: L2C1 Rez de chaussée [DEBUG] 10:30:23: L2C2 Eclairage Armoire [DEBUG] 10:30:23: L2C3 Eclairage Murs [DEBUG] 10:30:23: L2C4 Eclairage Couloir [DEBUG] 10:30:23: L2C5 Canape GH [DEBUG] 10:30:23: L2C6 Canape DR [DEBUG] 10:30:23: L2C7 Bureau [DEBUG] 10:30:23: L2C8 Ecl. Porte Entrée [DEBUG] 10:30:23: L2C9 Eclairage SdB [DEBUG] 10:30:23: L2C10 Eclairage WC [DEBUG] 10:30:23: L2C11 Debarras [DEBUG] 10:30:23: L3C1 Etage [DEBUG] 10:30:23: L3C2 ChevetG [DEBUG] 10:30:23: L3C3 ChevetD
  7. @Yohan, tu peux nous en dire plus sur ce soucis ? Merciiiiii !!
  8. jjacques68

    Coupure d'électricité

    Je pense pareil, ajoute un onduleur de toute urgence...
  9. marche Toujours pas, c’est penible ! on sait pas d’ou ça provient...
  10. jjacques68

    Help api.get api.put

    mouai... Le but de la scène sera de mettre les wakeuptime à leur maximum en une fois.
  11. autre solution, tu passe sur iPhone, là il prendra bien le nom tu tél, que tu peux modifier il me semble
  12. jjacques68

    Help api.get api.put

    J'AI TROUVE !! enfin!!!! p... de b... de m... c'était long ! ça vient pas du tout de mes api.put, api.get... voilà ce qui est en défaut (présent dans le 2ème script et pas dans le 1er): --récupère les infos du device id = device[i].id name = device[i].name type = device[i].type zwaveCompany = device[i].properties.zwaveCompany la variable "type" qui est un mot clé réservé : type = device.type J'ai remplacé par ceci : idDev = device[i].id nameDev = device[i].name typeDev = device[i].type zwaveCompanyDev = device[i].properties.zwaveCompany et ça a marché du premier coup ... ... pourri le debug lua !!!! bref, merci pour votre participation ! PS: question bête on peut réveiller un module sans avoir a se déplacer vers lui pour triple cliquer sur le bouton ?
  13. Ben moi j’ai achetée la version pro à cause de cette pub... Et je commençais à l’apprécier... Justement pour ce forum...
  14. Ok... si un administrateur du fofo pouvait regarder ce serait super !!
  15. Bonsoir, Est-il normal que tout d'un coup depuis aujourd'hui (du moins jour où je m'en suis rendu compte) on (je) ne puisse plus poster depuis taptalk ? J'arrive à tout voir mais à rien répondre. Il me marque "Vous n'avez pas la permission" dans la zone de texte pour répondre. Quand je clique sur le bouton "abonnée" il cherche, et cherche et cherche, mais rien ne vient. On dirait que la communication entre l'appli et le forum ne passe plus correctement... Et je peux y arriver sur d'autre forum ! J'ai complètement supprimer l'appli et réinstallé, mais rien y fait. Idem sur tablette. Quelqu'un remarque la même chose ? Merci !
  16. jjacques68

    Help api.get api.put

    Bon alors, que je le prévoyais, ".properties" est bien présent. Donc désolé les gars, mais c'est pas ça (je modifie le premier post pour ne pas tromper quelqu'un d'autre) C'est désepérant... Je poste la scène compléte qui bug (un peu long mais pas compliquée) --[[ %% properties %% events %% globals --]] --[[ Scène qui met à jour les WakeUpTime des modules au maximum, suivant les infos trouvés dans la notice --]] --décalration des variables************************************************* local debug = true --true/false variable pour afficher le debug local simul = false --true/false permet de simuler avant de modifier local device = api.get("/devices/") --liste tous les devices local texte = "" --texte pour le debug local nbDevice = 0 --compteur de device à pile total local nbDeviceUpdateOK = 0 --compteur de device mis à jour OK local nbDeviceUpdateNOK = 0 --compteur de device mis à jour NOK local nbDeviceOK = 0 --compteur de device OK local nbDeviceNOK = 0 --compteur de device NOK local typeDevice = { {type = "com.fibaro.remoteController", zwaveCompany = "ID-RF", up = 0, maxTime = 0}, {type = "com.fibaro.doorSensor", zwaveCompany = "Fibargroup", up = 1, maxTime = 64800}, {type = "com.fibaro.FGMS001v2", zwaveCompany = "Fibargroup", up = 1, maxTime = 65535}, {type = "com.fibaro.FGFS101", zwaveCompany = "Fibargroup", up = 1, maxTime = 18000}, {type = "com.fibaro.thermostatDanfoss",zwaveCompany = "Danfoss", up = 1, maxTime = 600}, {type = "com.fibaro.FGMS001", zwaveCompany = "Fibargroup", up = 1, maxTime = 65535}, {type = "com.fibaro.temperatureSensor",zwaveCompany = "Horstmann Controls Limited", up = 1, maxTime = 86400}, {type = "com.fibaro.temperatureSensor",zwaveCompany = "Everspring", up = 1, maxTime = 16056000}, {type = "com.fibaro.motionSensor", zwaveCompany = "Philio Technology Corp", up = 1, maxTime = 432000} } --fonction pour afficher le debug******************************************* function afficheDebug(message, color, afficheDebug) if afficheDebug == true then if message and color then print("<font color = '"..color.."'>"..message.."</font>") else print("<font color = 'yellow'>afficheDebug : error</font>") end end end --MAIN********************************************************************** --entête de debug if simul == true then afficheDebug("MODE SIMULATION : AUCUNE MODIFICATION EST APPLIQUEE.", "yellow", true) end afficheDebug("DEFINITIONS : id, name, wakeUpTime, type, zwaveCompany", "white", debug) --pour tous les device for i,v in ipairs(device) do -- filtre que les device à pile et visible if device[i].properties.wakeUpTime and device[i].visible == true then --pour tous les éléments de typeDevice for j,w in ipairs(typeDevice) do --si le type et zwaveCompany sont identiques if device[i].type == typeDevice[j].type and device[i].properties.zwaveCompany == typeDevice[j].zwaveCompany then --récupère les infos du device id = device[i].id name = device[i].name type = device[i].type zwaveCompany = device[i].properties.zwaveCompany --construit le texte pour le debug if debug == true then texte=id..", "..name..", "..device[i].properties.wakeUpTime.." s, "..type..", "..zwaveCompany end --si wakeUpTime différent de maxTime du tableau if device[i].properties.wakeUpTime ~= typeDevice[j].maxTime then afficheDebug(texte,"red", debug) nbDeviceNOK=nbDeviceNOK+1 --inc compteur NOK --si le champ UP est à 1 alors mise à jour if tonumber(typeDevice[j].up) == 1 then --mise à jour du wakeUpTime avec valeur du tableau if simul == false then -- pas executée en mode simulation local Value=api.get("/devices/"..device[i].id) Value.properties.wakeUpTime = typeDevice[j].maxTime api.put("/devices/"..device[i].id, Value) end fibaro:abort() --construit le texte pour le debug de mise à jour if debug == true then texte="Device "..device[i].id.." ("..device[i].name..") wakeUpTime mis à jour avec "..typeDevice[j].maxTime.." s." end afficheDebug(texte, "orange", debug) nbDeviceUpdateOK=nbDeviceUpdateOK+1 --inc compteur update OK else --si pas de mise à jour demandée (up = 0) --construit le texte pour le debug de mise à jour if debug == true then texte="Device "..device[i].id.." ("..device[i].name..") wakeUpTime non mis à jour." end afficheDebug(texte, "Magenta", debug) nbDeviceUpdateNOK=nbDeviceUpdateNOK+1 --inc compteur update NOK end else --sinon OK (wakeUpTime différent de maxTime du tableau) afficheDebug(texte, "green", debug) nbDeviceOK=nbDeviceOK+1 --inc compteur OK end nbDevice=nbDevice+1 --inc compteur device end end end end --affichage résultat print("------------------------------") afficheDebug("Total device détectés = "..nbDevice, "white", true) afficheDebug("Total device OK = "..nbDeviceOK, "green", true) afficheDebug("Total device NOK = "..nbDeviceNOK, "red", true) afficheDebug("Total device mis à jour OK = "..nbDeviceUpdateOK, "orange", true) afficheDebug("Total device mis à jour NOK = "..nbDeviceUpdateNOK, "Magenta", true) On retrouve le api.put qui m....
  17. jjacques68

    Help api.get api.put

    Il manque le .properties ?! je pense que ça viens du copier coller... je vérifie ce soir, mais quasi sur qu’il est présent dans le code qui fonctionne pas. si vous regarder le 3 eme code posté, qui est un clone de celui qui marche pas, vous verrez... et pourtant ce clone fonctionne...
  18. Ou ça ça me plait merci !!
  19. jjacques68

    Help api.get api.put

    Voici exactement le code de ma première scène qui est quasi identique à ma seconde scene, alors la je pige plus... local device = api.get("/devices") local typeDevice = { {type = "com.fibaro.FGFS101", zwaveCompany = "Fibargroup", up = 1, maxTime = 20000}, } for i,v in ipairs(device) do if device[i].properties.wakeUpTime and device[i].visible == true then for j,v in ipairs(typeDevice) do if device[i].type == typeDevice[j].type and device[i].properties.zwaveCompany == typeDevice[j].zwaveCompany then if device[i].properties.wakeUpTime ~= typeDevice[j].maxTime then if tonumber(typeDevice[j].up) == 1 then local Value=api.get("/devices/"..device[i].id) Value.properties.wakeUpTime = typeDevice[j].maxTime api.put("/devices/"..device[i].id, Value) print("ok") end end end end end end
  20. jjacques68

    Help api.get api.put

    Je viens de faire l’essai en ajoutant cette condition dans mon premier exemple, et veux toujours rien savoir... ça commence à m’enerver Se truc...
  21. jjacques68

    Help api.get api.put

    Alors j’ai tout essayé !!! Tostring to number... et dans le premier exemple, c’est bien un chiffre que j’envoie et non une chaîne !!!
  22. Ok, étrange... pas eu besoin de faire ça... pour le pot, aucune idée, BLEA le verra certainement, après je sais pas... si les commandes du device apparaissent, y a pas de raison que ça ne marche pas !! Attention au risque qu’il arrive cassé !! Tiens au courant si tu te lances
  23. jjacques68

    Help api.get api.put

    Je viens d’essayer en remplaçant le 2ème v par W, mais ça change rien
  24. jjacques68

    Help api.get api.put

    Bonjour à tous ! Je suis confronté à problème complètement délirent. J'ai un bout de code qui veut pas fonctionner dans une scène alors qu'il fonctionne très bien dans une autre !!! voila le bout de code qui fonctionne très bien : (il met à jour le wakeUpTime d'un module) local device = api.get("/devices") for i,v in ipairs(device) do if device[i].id == 48 then local Value=api.get("/devices/"..device[i].id) Value.properties.wakeUpTime = 18000 api.put("/devices/"..device[i].id, Value) end end et voila celui qui ne fonctionne pas : (dans une autre scène, plus complexe, que j'ai simplifié pour le sujet...) local device = api.get("/devices") --liste tous les devices local typeDevice = { {type = "com.fibaro.remoteController", zwaveCompany = "ID-RF", up = 0, maxTime = 0}, {type = "com.fibaro.doorSensor", zwaveCompany = "Fibargroup", up = 1, maxTime = 64800}, --je raccourcie la liste... } --pour tous les device for i,v in ipairs(device) do -- filtre que les device à pile et visible if device[i].properties.wakeUpTime and device[i].visible == true then --pour tous les éléments de typeDevice for j,v in ipairs(typeDevice) do --si le type et zwaveCompany sont identiques if device[i].type == typeDevice[j].type and device[i].properties.zwaveCompany == typeDevice[j].zwaveCompany then local Value=api.get("/devices/"..device[i].id) Value.wakeUpTime = typeDevice[j].maxTime api.put("/devices/"..device[i].id, Value) ------> BLOQUE ICI !!!! il me dit : [DEBUG] 11:08:41: [1;31m2017-09-24 11:08:41.463993 [ fatal] Runtime error: [string " return function(composite, ret, encode, sta..."]:4: attempt to call global 'type' (a string value) J'ai tout essayé et rien y fait... merci pour vos conseils !!!!
  25. jjacques68

    LiLi iOS est tu la

    Moi je ne l'utilise pas... mais à tout hasard, est ce que ton micro est actionnée pour cette appli ?
×
×
  • Créer...