-
Compteur de contenus
14 355 -
Inscription
-
Dernière visite
-
Jours gagnés
241
Tout ce qui a été posté par mprinfo
-
petite question j'ai été obliger de faire une variable prédéfinie car la variable globale ne fonctionne pas pour mettre plusieurs id j'ai fais comme cela Zone1=5,7,9 Zone2=19,23,25 Zone3=29,27,17 -- traitement de la varialble globale Merci Steven function split(text, sep) local sep, fields = sep or ":", {} local pattern = string.format("([^%s]+)", sep) text:gsub(pattern, function(c) fields[#fields+1] = c end) return fields end local mon_tableau = fibaro:getGlobal('V_Zone1'); local V_Id = split(mon_tableau, ",") je récupere les id via le code que steven a fais je voudrais savoir si il n'est pas possible de faire une seule variable prédéfinie Zone et d'y mettre plusieurs parametre je ne sais pas comment récupérer le paramètre dont j'ai besoin variable prédéfinie = zone paramètre 1 valeur=5,7,9 paramètre 2 valeur=19,23,25 paramètre 3 valeur=29,27,17
-
Bonjours a tous, Pourquoi UNIVERSEL Parce que cette télécommande peut facilement être utilisé pour de FGD par exemple, il suffit de mettre l'id d'un FGD et ca fonctionne (pour les puristes il faudra changer le mots volets par FGD) Je débute en lua, j'ai donc décider de me faire une télécommande via un Module Virtuel Mon objectif principal et d' optimisez au maximum mon code je pense que les experts du lua vont encore diminuer le nombres de lignes J'ai donc réfléchi (oui ca m'arrive) pour que cela soit le plus simple possible a gérer. j'ai pas envie de tous refaire a chaque fois qu'un ID change la télécommande ce divise en 3 Zones + 1 Slider le Slider sert a choisir la valeur d'ouverture du volet je ne parlerai donc jamais de fermeture mais d'une ouverture a "0" Chaque Zone ce divise en 3 boutons Ouvrir = ouverture de la zone Slider = ouvre la zone en fonction de la position du slider Fermer = fermeture de la zone Pour installer ce module il va falloir crée plusieurs variables Il faut absolument respecté les majuscules et minuscules 2 variables globales IdI9305=(id de votre téléphone) ex : IdI9305=134 (cette variable va servir un faire un push lors de l'actionnement d'une zone) VoletsSlider=0 elle va nous permettre a stocker la valeur de notre slider 3 Variables prédéfinies V_Zone1 V_Zone2 V_Zone3 dans chacune de ces variables on va indiqué les id des volets attention a la syntaxe. si vous voulez modifier les id il faut supprimer la variable prédéfinies et la recrée L'id du volets peut être mis dans plusieurs zone exemple : V_Zone1=5,7,9 V_Zone2=19,23,25 V_Zone3=29,27,17,5 Voila le plus dur est fait. Pour le slider Voici ce que j'ai fais. Le début du code a été récupérer sur le forum -- Permet de récuperer la valeur slider function map_range( a1, a2, b1, b2, s ) return b1 + (s-a1)*(b2-b1)/(a2-a1) end local V_Slider = map_range(0, 100, 0, 100, _sliderValue_ ); -- Mise a jour de la Variable globale Slider fibaro:setGlobal('VoletsSlider', V_Slider) fibaro:debug( "Valeur Slider = " ..V_Slider ) -- mise a jour des labelles fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblZone1.value", " Slider = " ..V_Slider) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblZone2.value", " Slider = " ..V_Slider) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblZone3.value", " Slider = " ..V_Slider) je vais vous donnez le code pour un bouton c'est sensiblement le même pour les autres. -- traitement de la varialble globale Merci Steven function split(text, sep) local sep, fields = sep or ":", {} local pattern = string.format("([^%s]+)", sep) text:gsub(pattern, function(c) fields[#fields+1] = c end) return fields end local mon_tableau = fibaro:getGlobal('V_Zone1'); local V_Id = split(mon_tableau, ",") -- fin du traitement de la varialble globale -- Numero de la Zone local Zone = 1 -- Valeur 0=Fermer - 99 = Ouvert local V_Status = fibaro:getGlobalValue("VoletsSlider") -- Recuperation de id du tel pour le push local IdTel = fibaro:getGlobalValue("IdI9305") -- Initialisation de la table local V_IdValue = {}; fibaro:debug("Nombres Modules = " ..#V_Id) for i = 1,#V_Id do fibaro:call(V_Id[i], "setValue", V_Status ); -- Commande Module V_IdValue[i] = fibaro:getValue(V_Id[i], 'value' ); -- recuperation de la valeur du module fibaro:debug( V_IdValue[i] .." " .. i ) end local V_Status = fibaro:getGlobalValue("VoletsSlider") fibaro:sleep(2*1000) -- Mise a jour label fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblZone1.value", #V_Id .." Volets") -- Envoi du Push fibaro:call(IdTel, "sendPush", "Les " ..#V_Id .." Volets de La Zone " ..Zone .." sont Ouverts") Voila ce que ca donne au final Je voulais tous particulièrement dire merci a lionel57, Berale24 pour la réalisation de tableaux Ainsi qu'a Steven pour le bout de code qu'il a partagé sur le forum et donc je me suis servi Voici le lien pour télécharger le version 1.0 Volets_V1.0.vfib Télécommande Volets, FGD etc... V2.0 (8 Zone ou Prg) Il faut crée 2 variables globale : - VoletsSlider (si déja crée aucun soucis ca fonctionnera) - VoletsZone -- Nom du Programme + id des volets ex : {"RDC", 8, 15, 23} local Var_Id = {"Valeur a renseigner"} -- Ne Rien Modifier en dessous de cette ligne --------------- local Var_NameZone = (tostring(Var_Id[1])) -- Nom de la Zone ex : "RDC = " -- Sauvegarde des id dans la variable globale fibaro:setGlobal('VoletsZone',json.encode(Var_Id)); local Var_Name = "" for i = 2,#Var_Id do local TempName = fibaro:getName(Var_Id[i]) local TempValue = fibaro:getValue(Var_Id[i], 'value' ); -- recuperation de la valeur du module Var_Name = (Var_Name ..TempName .."=" ..TempValue .." - ") end -- Mise a jour label fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label3.value", Var_NameZone) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label1.value", Var_Name) il faut renseigner la zone + les id Exemple : -- Nom du Programme + id des volets ex : {"RDC", 8, 15, 23} local Var_Id = {"Rez De Chaussé", 5, 7, 9} cette manipulation est a faire pour chaque touche Prg que vous voulez utiliser Voici le code lorsque l'on appui sur Envoi : -- Récupération de vos id en début de vos scripts Var_Id=json.decode((fibaro:getGlobal('VoletsZone'))); local Var_Zone = tostring(Var_Id[1]) -- Valeur 0=Fermer - 99 = Ouvert local V_Status = fibaro:getGlobalValue("VoletsSlider") -- Recuperation de id du tel pour le push local IdTel = fibaro:getGlobalValue("IdI9305") -- Initialisation de la table local V_IdValue = {}; fibaro:debug("Nombres Modules = " ..#Var_Id) for i = 2,#Var_Id do V_IdValue[i] = fibaro:getValue(Var_Id[i], 'value' ); -- recuperation de la valeur du module if V_IdValue[i] ~= V_Status then fibaro:call(Var_Id[i], "setValue", V_Status ); -- Commande Module else fibaro:debug(V_IdValue[i] .." = " .. V_Status ) end end fibaro:sleep(2*1000) -- Mise a jour label fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label1.value", "Les " ..#Var_Id-1 .." Modules de La Zone " ..Var_Zone .." ACTIONNES") -- Envoi du Push fibaro:call(IdTel, "sendPush", "Les " ..#Var_Id-1 .." Volets de La Zone " ..Var_Zone .." ACTIONNES") Utilisation : On sélectionne un programme le nom des modules ainsi que leurs valeurs actuel s'affiche (Mise en page pas toujours super car on affiche cela dans une étiquette) On sélectionne une valeur avec le SLIDER ou OUVRIR ou FERMER On sélectionne Envoyer et c'est parti Je vais peut être ajouter 3 nouvelles touche pour actionner des Scenes Voici le lien pour télécharger le version 2.0b : Volets_V2.0b.vfib Voici un script pour la télécommande qui permet de sélectionner tous les volets sans avoir a donner les ID Fonctionne avec des FGRM222 et FGRM221 Il suffit de copier ce script dans l'un des 8 prg -- Ne Rien Modifier en dessous de cette ligne --------------- local HC2 = Net.FHttp("127.0.0.1", 11111) local reponse = HC2:GET("/api/devices") local NombreModule = json.decode(reponse) local Var_Id = {"Tous"} for i = 3, #NombreModule do local theType = string.sub(fibaro:getType(i), 12,15) local Var_Name = fibaro:getName(i) -- Si égale à 'blind' if (theType == 'FGRM') then local t_id = #Var_Id + 1 table.insert(Var_Id, t_id, tonumber(i)) fibaro:debug("Type : "..theType..' - Volets ID '..i .." = "..Var_Name) end end local Var_NameZone = (tostring(Var_Id[1])) -- Nom de la Zone ex : "RDC = " -- Sauvegarde des id dans la variable globale fibaro:setGlobal('VoletsZone',json.encode(Var_Id)); local Var_Name = "" for i = 2,#Var_Id do local TempName = fibaro:getName(Var_Id[i]) local TempValue = fibaro:getValue(Var_Id[i], 'value' ); -- recuperation de la valeur du module Var_Name = (Var_Name ..TempName .."=" ..TempValue .." - ") end -- Mise a jour label fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label3.value", Var_NameZone) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label1.value", Var_Name)
-
moi je propose un petit tour sur l evrest en petite tenue pour faire les tests avec fibaro
-
Fibaro => Si Il N'y A Pas De Quoi Être Dégoutté ..
mprinfo a répondu à un(e) sujet de PITP2 dans Le bistrot
maintenant je comprend pourquoi on se les gels avec le panneau de chauffage😅 -
chez moi c'est pas super j'en ai un ou la remonter de température est HS L'autre fonctionne bien mais si je le mets sur piles le led reste allumer en permanence et plus de piles en 2 jours j'ai même remis le firm v1.18 mais rien a faire
-
Echange Données Portables Android - Hc2
mprinfo a répondu à un(e) sujet de Lionel57 dans Mobile Android
je suis justement entrain de faire un télécommande pour volets elle gere les volets par zone et on peu modifie la valeur je debute en lua c'est un peu long j'espère pouvoir la mettre en ligne demain pour la st valetin comme cela phil aura un beau cadeau pour madame lol c'est comme cela qu il faut mené une campagne le 20 et proche. -
Echange Données Portables Android - Hc2
mprinfo a répondu à un(e) sujet de Lionel57 dans Mobile Android
dire a phil de faire chambre a part lol -
Echange Données Portables Android - Hc2
mprinfo a répondu à un(e) sujet de Lionel57 dans Mobile Android
@did tu viens de perdre une voix😆 -
Contrôleur Home Center 2 Fibaro Z-Wave 508.47€ @ Amazon.it
mprinfo a répondu à un(e) sujet de mprinfo dans Sites internet
C'est a chacun de faire sont choix, Il y a comme chez tout revendeur une garantie. C'est vrai il y a les frais de port. Après garantie si ta clef sur la hc2 a un bug même un revendeur ne pourra rien faire c'est retour chez fibaro via DHL soit environ 100 euros -
Fibaro FGRGB-101 à 39.99 € www.amazon.de/gp/offer-listing/B00DZ3VKZS/ref=sr_1_12_olp?ie=UTF8&qid=1423865471&sr=8-12&keywords=fibaro&condition=new Fibaro Détecteur de mouvement - Z-Wave, FIB_FGMS-001 a 42.90 euroshttp://www.amazon.de/gp/offer-listing/B00JHHNUPY/ref=dp_olp_new?ie=UTF8&condition=new ici d'autre modules fibaro http://www.amazon.de/s/ref=nb_sb_noss?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&url=search-alias%3Daps&field-keywords=fibaro
-
Contrôleur Home Center 2 Fibaro Z-Wave 508.47€ @ Amazon.it
mprinfo a posté un sujet dans Sites internet
encore une bonne affaire pour une HC2 http://www.amazon.it/gp/offer-listing/B00AUFV7N4/ref=dp_olp_new?ie=UTF8&condition=new -
Projet Construction-Switch
mprinfo a répondu à un(e) sujet de pepite dans Mon installation domotique
pour l achat de sondes dallas aliexpress prix environ 0.50 euros les waterproof sont a 1.50 euros environ le délai de livraison varie entre 15 jours a 1 mois et demi ne pas utiliser l envoi via EMS plus rapide mais risque de frais de douanes -
Home Center Light A 185 Euros Frais De Port Inclus
mprinfo a répondu à un(e) sujet de mprinfo dans Sites internet
oui pas de soucis -
Merci berale24 c'est ce que je voulais faire dans ma prochaine version mais je ne connaissais pas la commande Je vais aussi crée des variables globale pour grouper les id de mes volets par zone ca par contre je sais faire Merci pour votre aide
-
Voici le code enfin fonctionnel si ca peut servir a quelqu'un local V_Status = 99 -- Valeur 0=Fermer - 99 = Ouvert local V_Id = {5, 7, 9}; -- Id modules Volets local N_Modules = 3 -- Nombres de modules local V_IdValue = {}; -- Initialisation de la table fibaro:debug("Nombres Modules = " ..N_Modules) for i = 1,N_Modules do fibaro:call(V_Id[i], "setValue", V_Status ); -- Commande Module V_IdValue[i] = fibaro:getValue(V_Id[i], 'value' ); -- recuperation de la valeur du module fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblRDC.value", V_IdValue[i] .." %") fibaro:debug( V_IdValue[i] .." " .. i ) end
-
super merci
-
j'ai une erreur a ce niveau local IdValue[j] = fibaro:getValue(Id[j], 'value' ) je n'arrive pas a transférer la valeur de ID[j] dans IdValue[j]
-
je viens de tester cela mais ca ne fonctionne pas local Id = {5, 7, 9}; local IdValue = {0, 0, 0}; for j = 1,3 do local IdValue[j] = fibaro:getValue(Id[j], 'value' ) end
-
merci ça fait un moment que j'ai pas fais de programmation j'ai arreté a dbase 4 j'arrive a comprendre en parti un script en lua mais al syntaxe ??? je viens de trouver aussi cela. http://www.ozone3d.net/tutorials/lua_coding.php#intro et avec ton exemple ça roule Merci beaucoup je suis entrain de faire une télécommande pour mes volets je les regroupes par zone et je n' aime pas avoir pleins de ligne qui sont identique avec seulement un id qui change de plus si je ré inclus un module il faut tout modifié je préfére avoir un variable globale avec mes id c'est plus souple
-
ok merci par contre si je veux remplacer le chiffre [2] par une variable je mets ? pour la boucle je peux utilisé for to Next ou je dois utilisé un do while ?
-
Je voudrais crée un tableau plusieurs entré en lua Je saurai le faire en BASIC mais si quelqu'un pourrai me traduire cela en lua ex : ID = 0 For I=0 to 10 ID(i)=ID(i)+1 I=I+1 Next resultat ID1=1, ID2=2 ID3=3 etc... se voudrais savoir si il est aussi possible de faire une truc du genre ID(I,J) 2 questions si je rentre dans une variable Local ID = 1, 10, 25 ,40 comment fait on pour récuperer cela sous cette forme ID1 = 1 ID2 = 10 ID3 = 25 ID4 = 40 Merci d'avance pour votre aide
-
Topic unique Serveur Hp N54L + Xpenology
mprinfo a répondu à un(e) sujet de fredo dans Multimédia (audio, vidéo ...)
@nico pour le wol faut il toujours faire la modification sur la clé ? -
Topic unique Serveur Hp N54L + Xpenology
mprinfo a répondu à un(e) sujet de fredo dans Multimédia (audio, vidéo ...)
J'ai pas d'amis 😀 -
a priori il n'y a pas de retour d'etat pour l actionneur c'est un peu c..... pour un module zwave
-
Topic unique Serveur Hp N54L + Xpenology
mprinfo a répondu à un(e) sujet de fredo dans Multimédia (audio, vidéo ...)
chez moi non plus pas de virtuallisation je vais tester de nouveau cette semaine pour voir si ma carte sas est enfin reconnu. Pour le wol il faut toujours faire la même modif sur la clef ?