-
Compteur de contenus
14 652 -
Inscription
-
Dernière visite
-
Jours gagnés
190
Tout ce qui a été posté par jojo
-
non, ça devrait être i+j car àla fin de la boucle for, j = NbrVal
- 33 réponses
-
- script LUA
- Virtual Devices
-
(et 1 en plus)
Étiqueté avec :
-
si tu préfères i+j-1, je mets ça
- 33 réponses
-
- script LUA
- Virtual Devices
-
(et 1 en plus)
Étiqueté avec :
-
j'avais mis tout ça dans mon VD pour de vrai, et ça ne marchait pas. Je me suis posé 36000 questions, mais bien sûr c'est normal, il manquait après la ligne 20 fibaro:call(VD_id, "pressButton", Btn_Deb) si on n'appuye pas sur le bouton, ça ne risque pas de marcher ...
- 33 réponses
-
- script LUA
- Virtual Devices
-
(et 1 en plus)
Étiqueté avec :
-
! la longueur des variables globales est limitée. mais pour le faire c'est simple 1/ tu récupères la valeur actuelle de la variable (fibaro:getGlobalValue) 2/ tu récupères la valeur de ton device 3/ dans ta variable locale avec la valeur de ta variable globale, tu fais un concatenate 4/ tu re-sauves le tout dans ta variable globale
-
Voilà , je pense que maintenant c'est bon : le code : local Table = {"ECS", 215, 3, 4, "Oui", "Non", "Chauffage", 216, 3, 5, "0", "1", "2"} local i = 1 while Table[i] ~= nil do local VG_Nom = tostring(Table[i]) fibaro:debug("----------------------------") fibaro:debug("Nom de la variable Globale = " ..VG_Nom) local VD_id = tostring(Table[i+1]) local Btn_Deb = tonumber(Table[i+2]) local Btn_Fin = tonumber(Table[i+3]) local NbrVal = (Btn_Fin - Btn_Deb) + 1 fibaro:debug('NbrVal = ' ..NbrVal) i = i + 4 local VG_Val = fibaro:getGlobalValue(VG_Nom) fibaro:debug('Valeur de la variable Globale = ' ..VG_Val) for j = 1,NbrVal do if VG_Val == Table[i+j-1] then fibaro:debug(VG_Nom.. ' = ' ..VG_Val) fibaro:debug("Il faut appuyer sur le bouton : " ..Btn_Deb.. " de la VD_id " ..VD_id) end Btn_Deb = Btn_Deb + 1 end -- for i = i + NbrVal end -- while le debug : [DEBUG] 16:40:19: ---------------------------- [DEBUG] 16:40:19: Nom de la variable Globale = ECS [DEBUG] 16:40:19: NbrVal = 2 [DEBUG] 16:40:19: Valeur de la variable Globale = Non [DEBUG] 16:40:19: ECS = Non [DEBUG] 16:40:19: Il faut appuyer sur le bouton : 4 de la VD_id 215 [DEBUG] 16:40:19: ---------------------------- [DEBUG] 16:40:19: Nom de la variable Globale = Chauffage [DEBUG] 16:40:19: NbrVal = 3 [DEBUG] 16:40:19: Valeur de la variable Globale = 2 [DEBUG] 16:40:19: Chauffage = 2 [DEBUG] 16:40:19: Il faut appuyer sur le bouton : 5 de la VD_id 216 Etant donné qu'on faisait des vrai tests, j'ai mis des vrais noms de variable, avec des vrais valeurs.
- 33 réponses
-
- script LUA
- Virtual Devices
-
(et 1 en plus)
Étiqueté avec :
-
Je ne suis pas en v4.x, mais je confirme que la doc des Greenwave spécifie que la conso n'est pas bien remontée en v3.600
-
je ne suis pas un expert réseau, mais il faut déjàtrouver le port 8597, et ça ne va que sur le port 80 de ma box, pas sur le reste de mon réseau ? ou je suis complètement àcôté de la plaque ?
-
ok pour toi ? Si oui, je renommerai certaines variables, histoire qu'elles soient plus courtes et que le code soit plus lisible. Je met àjour dans le tuto et fait référence ànotre travail collectif ?
- 33 réponses
-
- script LUA
- Virtual Devices
-
(et 1 en plus)
Étiqueté avec :
-
effectivement, on ne peut pas faire d'incrémentation comme on veut dans un for do end, mais bien dans un while do end. C'est d'ailleurs ce que tu as fais, très bonne astuce de programeur
- 33 réponses
-
- script LUA
- Virtual Devices
-
(et 1 en plus)
Étiqueté avec :
-
Voici local Table = {"Variable1", 215, 3, 5, "OUI", "NON", "Autre", "Variable2", 216, 3, 4, "Autorisé", "Interdit"} local i = 1 while Table[i] ~= nil do local NomVariableGlobale=tostring(Table[i]) fibaro:debug("Nom de la variable Globale = " ..NomVariableGlobale) local VDid = tostring (Table[i+1]) local BoutonDebut = tonumber(Table[i+2]) local BoutonFin = tonumber(Table[i+3]) local NombreValeurs = (BoutonFin - BoutonDebut) + 1 i = i + 4 for Bouton = 1,NombreValeurs do fibaro:debug(NomVariableGlobale.. "== "..Table[i+Bouton-1].. ' ? VDid = ' ..VDid.. ' - Bouton = ' ..BoutonDebut+Bouton-1) Bouton = Bouton + 1 end i = i + NombreValeurs fibaro:debug("----------------------------") end et le résultat [DEBUG] 15:50:38: Nom de la variable Globale = Variable1 [DEBUG] 15:50:38: Variable1== OUI ? VDid = 215 - Bouton = 3 [DEBUG] 15:50:38: Variable1== NON ? VDid = 215 - Bouton = 4 [DEBUG] 15:50:38: Variable1== Autre ? VDid = 215 - Bouton = 5 [DEBUG] 15:50:38: ---------------------------- [DEBUG] 15:50:38: Nom de la variable Globale = Variable2 [DEBUG] 15:50:38: Variable2== Autorisé ? VDid = 216 - Bouton = 3 [DEBUG] 15:50:38: Variable2== Interdit ? VDid = 216 - Bouton = 4 [DEBUG] 15:50:38: ----------------------------
- 33 réponses
-
- script LUA
- Virtual Devices
-
(et 1 en plus)
Étiqueté avec :
-
non, je dois encore rajouter l'ID du VD. Je le fais
- 33 réponses
-
- script LUA
- Virtual Devices
-
(et 1 en plus)
Étiqueté avec :
-
je crois que c'est bon. Voici le code local Table = {"Variable1", 3, 5, "OUI", "NON", "Autre", "Variable2", 3, 4, "Autorisé", "Interdit"} local i = 1 while Table[i] ~= nil do local NomVariableGlobale=tostring(Table[i]) fibaro:debug("Nom de la variable Globale = " ..NomVariableGlobale) local BoutonDebut = tonumber(Table[i+1]) local BoutonFin = tonumber(Table[i+2]) local NombreValeurs = (BoutonFin - BoutonDebut) + 1 i = i + 3 for j = 1,NombreValeurs do fibaro:debug(NomVariableGlobale.. "== "..Table[i+j-1]) -- test de la valeur de NomVariableGolbale == Table[i+j-1] j=j+1 end i = i + NombreValeurs fibaro:debug("----------------------------") end et le résultat du debug [DEBUG] 15:36:32: Nom de la variable Globale = Variable1 [DEBUG] 15:36:32: Variable1== OUI [DEBUG] 15:36:32: Variable1== NON [DEBUG] 15:36:32: Variable1== Autre [DEBUG] 15:36:32: ---------------------------- [DEBUG] 15:36:32: Nom de la variable Globale = Variable2 [DEBUG] 15:36:32: Variable2== Autorisé [DEBUG] 15:36:32: Variable2== Interdit [DEBUG] 15:36:32: ---------------------------- Qu'en penses-tu ? P.S. on est de la même génération, j'ai connu le BASIC, mais je n'ai jamais été programeur
- 33 réponses
-
- script LUA
- Virtual Devices
-
(et 1 en plus)
Étiqueté avec :
-
oui, je vois où tu veux en venir, et je regarde avec 2 variables p.exple local Table = {"Variable1", 3, 5, "OUI", "NON", "Autre", "Variable2", 3, 4, "Autorisé", "Interdit"} local i = 1 while Table[i] ~= nil do local NomVariableGlobale=tostring(Table[i]) fibaro:debug("Nom de la variable Globale = " ..NomVariableGlobale) local BoutonDebut = tonumber(Table[i+1]) local BoutonFin = tonumber(Table[i+2]) local NombreValeurs = (BoutonFin - BoutonDebut) + 1 i = i + 3 fibaro:debug("Valeur de I = " ..i) fibaro:debug("----------------------------") for j = 1,NombreValeurs do fibaro:debug(Table[i+j-1]) -- test de la valeur de NomVariableGolbale == Table[i+j-1] j=j+1 end i = i + NombreValeurs end On va laisser Stven tranquille, on va trouver un beau code comme des grands
- 33 réponses
-
- script LUA
- Virtual Devices
-
(et 1 en plus)
Étiqueté avec :
-
il ne faut PAS rediriger le port 80. Si tu as une IP EXTERNE fixe (ou via no-ip.com), tu choisis un port alléatoire (8597). Au niveau de ton routeur, tu rediriges le port 8597 vers l'IP fixe de ton HC2, port 80. Donc pour atteindre ton HC2, tu fais IP Externe: 8597
-
pour tes scènes, c'est normal qu'elles ne fonctionnent pas : comme tu as une condition de timer dedans, tu dois également cocher la case "démarrer avec la HC"
-
et comment tu le présenterais dans un tableau ? Il y aurait 2 tableaux ? 1 pour la définition de la VD et 1 pour les valeurs possibles ?
- 33 réponses
-
- script LUA
- Virtual Devices
-
(et 1 en plus)
Étiqueté avec :
-
autrement tu fais une redirection de port au niveau de ton router, et tu n'utilise pas home.fibaro.brol
-
je préférais 1 ligne par valeur possible de la variable, comme ça c'est ok, pour 2, 3, 4 ou plus de valeurs possibles
- 33 réponses
-
- script LUA
- Virtual Devices
-
(et 1 en plus)
Étiqueté avec :
-
En effet, il lit la variable globale qui se trouve dans le tableau, et on teste sa valeur qui est également dans le tableau mais je ne peux pas ...
- 33 réponses
-
- script LUA
- Virtual Devices
-
(et 1 en plus)
Étiqueté avec :
-
Besoin daide Icone : Chargement, Ajout Dans Vd Et Id
jojo a répondu à un(e) sujet de supermenteur dans HC2
maintenant que l'icône est chargée, tu n'as plus qu'àla sélectionner. Sélectionne là, ne fais PAS de save, et vois si elle reste. C'est peut-être un bug de 4.037 ? -
Besoin daide Icone : Chargement, Ajout Dans Vd Et Id
jojo a répondu à un(e) sujet de supermenteur dans HC2
celles de couillerot sont parfaites, je n'utilise que les siennes sans problème. Ecrits un petit word avec des screens shots de ce que tu fais, il doit y avoir un truc qui foire -
Besoin daide Icone : Chargement, Ajout Dans Vd Et Id
jojo a répondu à un(e) sujet de supermenteur dans HC2
???? pour quel device par exemple ? -
Besoin daide Icone : Chargement, Ajout Dans Vd Et Id
jojo a répondu à un(e) sujet de supermenteur dans HC2
théoriquement tu ne dois rien redimentionner, tout est bon dans la galerie. Je ne comprends pas -
@mprinfo, je n'ai pas le droit de travailler sur la domotique, mais c'est trop dur. Voici ce que je pense qu'on pourrait faire 1- créer une table avec les variables à mettre à jour : local variables = { "Variable 1", 123, "Oui", 3, "Variable 1", 123, "Non", 4, "Variable 2", 124, "Autorisé", 3, "Variable 2", 124, "Interdit", 4, "Variable 3", 125, "1", 3, "Variable 3", 125, "2", 4, "Variable 3", 125, "3", 5 } Donc ce tableau à 4 champs : Le nom de la variable, l'ID du VD qui affiche l'icône, la valeur de la variable, et le bouton qui doit être appelé 2) ensuite il faut faire un petit code qui parcoure le tableau, et appuye sur le bon bouton du bon VD en fonction de la valeur testée. Je dois m'interdire de le faire ... mais ça va être dur
- 33 réponses
-
- 1
-
- script LUA
- Virtual Devices
-
(et 1 en plus)
Étiqueté avec :
-
Besoin daide Icone : Chargement, Ajout Dans Vd Et Id
jojo a répondu à un(e) sujet de supermenteur dans HC2
oui, car l'icône n'a pas été uploadée "correctement". Pour être sûr qu'elle soit bien en 128x128, tu doit cliquer sur l'icône, et puis seulement la sauver (et utiliser le bouton sauver s'il est disponible)