
jjacques68
Membres confirmés-
Compteur de contenus
4 365 -
Inscription
-
Dernière visite
-
Jours gagnés
39
Tout ce qui a été posté par jjacques68
-
alors pour bien compléter la chose, il faut faire une tempo d'une seconde d'un tirage à l'autre (vu que LUA fonctionne à la seconde) Voilà mes essais très rapides et plutôt concluant : function Randomize(x) math.randomseed(os.time()) return math.random(x) end while true do print(Randomize(10)) fibaro:sleep(1100) end Et là j'ai une suite de nombre pseudo-aléatoire. En dessous d'une seconde, y a de la répétition. Voilà maintenant je peux tirer un numéro au sort dans une table... Merci !
-
Bonsoir à tous : Je constate une chose étrange avec la fonction random. si j’essaye ceci : print(math.random(10)) Après plusieurs lancement,s je me retrouve toujours avec la même valeur. D’après mes recherches, cela viendrait du fait qu’il faille initialiser le générateur avec math.randomseed(). Donc je fais ça : math.randomseed(os.time()) print(math.random(10)) Et là ça semble mieux fonctionner, mais j’ai toujours les mêmes valeurs au démarrage. Certain dise qu’il faut ajouter math.random() 3 x de suite encore avant... Quelqu’un a des explications à me donner ? Et/ou a une solution pour avoir un vrai générateur de nombre aléatoire ? C’est étrange, j’ai constaté exactement le même problème avec d’autres languages (Windev, VBA access). Je me demande si nos supers ordinateurs de la mort qui tue sont capables de générer un nombre aléatoire ? ... Après réflexion faite, il y a un algorithme derrière, et celui-ci est donc toujours identique ?!!!? Donc le nombre tiré est toujours le même ?! Du moins pour le premier !
-
Etre notifié en cas de changement de connexion internet
jjacques68 a répondu à un(e) sujet de jjacques68 dans Tutoriels
Bon c’est clairement qu’il ne reçoit pas de réponse du site qui renvoit l’adresse IP. Tu peux peutêtre quand même essayer de monter le Timeout à 4 secondes pour voir s’il y a amélioration. Aurais-tu un moyen de vérifier si tu as des coupures de connexion internet ? Il se peut aussi que le failover est trop sensible... et donc beaucoup de changement WAN ADSL/4G... et le changement de port WAN prends quand même un peu de temps (chez moi 1 bonne minute pour pas dire 2). Et pendant ce temps la, il n’y a pas de connexion !! (Et donc signalé par le VD). Dès le retour de l’ADSL, re changement de port WAN et re perte de connexion... ainsi de suite... Faudrait faire des tests et vérifier combien de temps le changement ADSL/4G prend. -
Topic unique Fibaro - Fgd-212 - Micromodule Variateur Z-Wave+
jjacques68 a répondu à un(e) sujet de Moicphil dans Modules Fibaro
Bon en baissant le paramètre 2, ça semble stable, et je constate pas de baisse de luminosité... -
Topic unique Fibaro - Fgd-212 - Micromodule Variateur Z-Wave+
jjacques68 a répondu à un(e) sujet de Moicphil dans Modules Fibaro
Hello, petit soucis avec un Le fgd-222 : j’ai deux ampoule au plafond de mon garage (led 13w équivalence 100w Philips). (utilise se device car pas de neutre dans l’inter) je ne veux pas la variation (param 32 = 1). bypass installé dans la boîte de dérivation entre les 2 plafonniers. le branchement est ok (c’est pas mon premier) Tous les param sont par défaut, et quand j’allume, j’ai un triangle rouge sur l’interface HC2 qui me dit : « Caution ! Main voltade drop detected » Si je règle le param 2 (niveau maximum, par défaut 99%) a 17% alors c’est ok. quelqu’un peut expliquer ? Et la conso afficher n’est pas celle qui devrait être (13x2 w), j’ai moins... -
oui oui quand on change de user faut faire gaffe...
-
hmm... va voir quand même dans les droits de ton user utilisé pour la requete, et regardes si la scène que tu veux démarrer est bien cochée... J'ai trop déjà galéré avec ce truc... reposte voir la requete !
-
alors est ce que ce user a le droit d'accès à ta scène ?
-
tu utilises le super user pour t'identifier ?
-
pour Mozilla le plugin c'est HttpRequester ! il est tiptop !
-
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...
-
Etre notifié en cas de changement de connexion internet
jjacques68 a répondu à un(e) sujet de jjacques68 dans Tutoriels
@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. -
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
-
@Yohan, tu peux nous en dire plus sur ce soucis ? Merciiiiii !!
-
Je pense pareil, ajoute un onduleur de toute urgence...
-
marche Toujours pas, c’est penible ! on sait pas d’ou ça provient...
-
mouai... Le but de la scène sera de mettre les wakeuptime à leur maximum en une fois.
-
autre solution, tu passe sur iPhone, là il prendra bien le nom tu tél, que tu peux modifier il me semble
-
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 ?
-
Ben moi j’ai achetée la version pro à cause de cette pub... Et je commençais à l’apprécier... Justement pour ce forum...
-
Ok... si un administrateur du fofo pouvait regarder ce serait super !!
-
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 !
-
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....
-
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...
-
Enregistrement de notification sur serveur sql
jjacques68 a répondu à un(e) sujet de drboss dans HC2
Ou ça ça me plait merci !!