Syris Posté(e) le 12 novembre 2015 Signaler Partager Posté(e) le 12 novembre 2015 Bonjour, Petit partage d'un VD qui permet de récupérer les valeurs des 8 entrées et des 8 sorties d'une ipx800 afin de les exploiter ou dans des VDs, ou dans GEA :- Il faut donc 8 variables globales pour les entrées : IPX_IN1 IPX_IN2 etc jusqu'à IPX_IN8 Il faut 8 variables globales pour les sorties : RELAIS1 RELAIS 2 etc jusqu'à RELAIS8 Deux boutons de MAJ et 16 labels. Certains libellés dans ce VD sont adapté à mon utilisation, modifiez les! (Pensez également à changer l'adresse ip, chez moi 192.168.1.60) Suite aux remarques (très intéressante) de ce fil, voilà la nouvelle version : VERSION 3 (MAJ du 28/11/15) - Permet d'utiliser le PUSH de l'ipx (et donc ne faire qu'une requête lors d'un changement d'état d'une entrée) - A configurer dans l'ipx (appuie sur le BP Maj de ce VD) - Code plus simple - Permet la mise à jour des VDs qui changent les icônes. - Permet de gérer les sorties avec le retour d'info A reconfigurer pour votre usage : Pour les entrées : Variable local VD_nom (juste pour se rappeler sur quoi c'est branché ) Variable local VD_ID_IPX (L'id des VD à mettre à jour) - Mettre nil si aucune action voulu Variable local VD_BP_IPX (Le BP a appuyer pour la MAJ du Vd en question) - Mettre nil si aucune action voulu Variable local VariablesIPX (qui correspond au variables globales a modifier en fonction des entrées) Pour les sorties : local VD_NOM_SORTIES (Toujours pour se rappeler sur quoi c'est branché ) local VD_ID_IPX_SORTIES (L'id des VD à mettre à jour) - Mettre nil si aucune action voulu local VD_BP_IPX_SORTIES (Le BP a appuyer pour la MAJ du Vd en question) - Mettre nil si aucune action voulu local VD_LABEL_SORTIES (les valeurs des labels à modifier) Supprimer les lignes de debug après mise en place Coté IPX : On configure le push sur les entrées afin d'appuyer sur le BP MAJ Entrée et on configure le push sur les sorties afin d'appuyer sur le BP MAJ Sorties. Exemple pour les entrées : /api/callAction?deviceID=104&name=pressButton&arg1=9 104 étant l'id du VD MAJ et 9 étant le bouton à appuyer pour la maj des entrées Exemple pour les sorties : /api/callAction?deviceID=104&name=pressButton&arg1=18 104 étant l'id du VD MAJ et 18 étant le bouton à appuyer pour la maj des sorties Bouton de MAJ Entrées : HC2 = Net.FHttp("192.168.1.60") response = HC2:GET("/api/xdevices.json?cmd=10") response = json.decode(response) local i = 1 local TotalEntrees = 8 + 1 local Rvar = {response.IN1,response.IN2,response.IN3,response.IN4,response.IN5,response.IN6,response.IN7,response.IN8} local VariablesIPX = {"IPX_IN1","IPX_IN2","IPX_IN3","IPX_IN4","IPX_IN5","IPX_IN6","IPX_IN7","IPX_IN8"} local VD_NOM = {"IR","Libre","Etat AL","En Al","Courrier","Scene3","Scene2","Scene1"} -- Juste pour Aide local VD_ID_IPX = {nil,nil,88,88,92,nil,nil,nil} -- ID des VD à mettre à jour local VD_BP_IPX = {nil,nil,3,3,2,nil,nil,nil} -- Numéro des boutons de MAJ des VD DateHeure = os.date("%Y-%m-%d %H:%M:%S", os.time()) fibaro:log(DateHeure.."") fibaro:debug(DateHeure) while i < TotalEntrees do fibaro:debug(i) fibaro:setGlobal(VariablesIPX[i], Rvar[i]) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..i..".value", Rvar[i]); fibaro:debug("Reponse entrée IPX : " ..i.." = " ..Rvar[i]) fibaro:debug("Nom du module = " ..VD_NOM[i]) if VD_ID_IPX[i] == nil then fibaro:debug("VD non configuré, rien à faire.") else fibaro:debug("Il faut appuyer sur le bouton : " ..VD_BP_IPX[i].. " de la VD id : " ..VD_ID_IPX[i]) fibaro:call(VD_ID_IPX[i], "pressButton", VD_BP_IPX[i]) end i = i + 1 end Bouton de Maj Sorties : HC2 = Net.FHttp("192.168.1.60") response = HC2:GET("/api/xdevices.json?cmd=20") response = json.decode(response) local i = 1 local TotalSorties = 8 + 1 local RvarSorties = {response.OUT1,response.OUT2,response.OUT3,response.OUT4,response.OUT5,response.OUT6,response.OUT7,response.OUT8} local VariablesIPXSorties = {"RELAIS1","RELAIS2","RELAIS3","RELAIS4","RELAIS5","RELAIS6","RELAIS7","RELAIS8"} local VD_NOM_SORTIES = {"VanneEAU","SecheServiette","ECL-EXT","Arrosage","PAC-Piscine","Filtration-Piscine","ECL-Piscine","Ventilation"} -- Juste pour Aide local VD_ID_IPX_SORTIES = {nil,85,84,nil,95,94,93,74} -- ID des VD à mettre à jour local VD_BP_IPX_SORTIES = {nil,4,4,nil,4,4,4,4} -- Numéro des boutons de MAJ des VD local VD_LABEL_SORTIES = {9,10,11,12,13,14,15,16} -- Label pour affichage des sorties DateHeure = os.date("%Y-%m-%d %H:%M:%S", os.time()) fibaro:log(DateHeure.."") fibaro:debug(DateHeure) while i < TotalSorties do fibaro:debug(i) fibaro:setGlobal(VariablesIPXSorties[i], RvarSorties[i]) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..VD_LABEL_SORTIES[i]..".value", RvarSorties[i]); fibaro:debug("Reponse Sortie IPX : " ..i.." = " ..RvarSorties[i]) fibaro:debug("Nom du module = " ..VD_NOM_SORTIES[i]) if VD_ID_IPX_SORTIES[i] == nil then fibaro:debug("VD non configuré, rien à faire.") else fibaro:debug("Il faut appuyer sur le bouton : " ..VD_BP_IPX_SORTIES[i].. " de la VD id : " ..VD_ID_IPX_SORTIES[i]) fibaro:call(VD_ID_IPX_SORTIES[i], "pressButton", VD_BP_IPX_SORTIES[i]) end i = i + 1 end Exemples de VD Entrée : 1 label, 1 bouton de MAJ local icone = { ["DETECTION"] = 100, --numéro icone à renseigner ["PASDETECTION"] = 99, } if fibaro:getGlobalValue("IPX_IN1") == '1' then fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label1.value", "Non") fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", icone["PASDETECTION"]) else fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label1.value", "Oui") fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", icone["DETECTION"]) fibaro:log("Mouvement!!") end Exemple de Vd pour contrôle sortie 7 (et retour d'info) : 1 label, deux bouton ON/OFF, un bouton Maj Bouton on : Simplement mettre "Set071" en chaine et cochant "en attente de réponse du périphérique" Bouton off : "Set070" en chaine et cochant "en attente de réponse du périphérique" Bouton Maj : local icone = { ["ECLPON"] = 90, --numéro icone à renseigner ["ECLPOFF"] = 89, } if fibaro:getGlobalValue("RELAIS7") == '1' then fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label1.value", "On") fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", icone["ECLPON"]) fibaro:log("Eclairage ON") else fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label1.value", "Off") fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", icone["ECLPOFF"]) fibaro:log("Eclairage OFF") end ANCIENNE VERSION 1 (Plus lourde, bcp de requêtes et ne met pas les VD d'état additionnel à jour) Coté bouton de MAJ : HC2 = Net.FHttp("192.168.1.60") response = HC2:GET("/api/xdevices.json?cmd=10") response = json.decode(response) fibaro:setGlobal("IPX_IN1", response.IN1) fibaro:setGlobal("IPX_IN2", response.IN2) fibaro:setGlobal("IPX_IN3", response.IN3) fibaro:setGlobal("IPX_IN4", response.IN4) fibaro:setGlobal("IPX_IN5", response.IN5) fibaro:setGlobal("IPX_IN6", response.IN6) fibaro:setGlobal("IPX_IN7", response.IN7) fibaro:setGlobal("IPX_IN8", response.IN8) DateHeure = os.date("%Y-%m-%d %H:%M:%S", os.time()) fibaro:log(DateHeure.."") fibaro:debug(DateHeure) local relais1 = fibaro:getGlobalValue("IPX_IN1") local relais2 = fibaro:getGlobalValue("IPX_IN2") local relais3 = fibaro:getGlobalValue("IPX_IN3") local relais4 = fibaro:getGlobalValue("IPX_IN4") local relais5 = fibaro:getGlobalValue("IPX_IN5") local relais6 = fibaro:getGlobalValue("IPX_IN6") local relais7 = fibaro:getGlobalValue("IPX_IN7") local relais8 = fibaro:getGlobalValue("IPX_IN8") if (relais1 == '0') then fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label1.value", "Oui") else fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label1.value", "Non") end if (relais2 == '0') then fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label2.value", "Actif") else fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label2.value", "Off") end if (relais3 == '1') then fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label3.value", "Armé") else fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label3.value", "Désarmé") end if (relais4 == '1') then fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label4.value", "En Alarme!") else fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label4.value", "RAS") end if (relais5 == '1') then fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label5.value", "Oui") else fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label5.value", "Non") end if (relais6 == '1') then fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label6.value", "On") else fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label6.value", "Off") end if (relais7 == '1') then fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label7.value", "On") else fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label7.value", "Off") end if (relais8 == '1') then fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label8.value", "On") else fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label8.value", "Off") end Boucle principal : local myDeviceID = fibaro:getSelfId() if type(n) == "nil" then n1 = tonumber(os.time()) fibaro:call(myDeviceID, "pressButton", "1") n = 1 end if tonumber(os.time()) > n1 + (4) then fibaro:call(myDeviceID, "pressButton", "1") n1 = tonumber(os.time()) end Eclairage_Piscine.vfib IPX800_E-S.vfib Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 13 novembre 2015 Signaler Partager Posté(e) le 13 novembre 2015 Super merci syris, Et tu n'agis pas sur les relais depuis la box ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Syris Posté(e) le 13 novembre 2015 Auteur Signaler Partager Posté(e) le 13 novembre 2015 Si mais via des modules virtuels pour chaque sortie avec changement des icônes Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 13 novembre 2015 Signaler Partager Posté(e) le 13 novembre 2015 tu multilplies les VDs ;-) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Syris Posté(e) le 13 novembre 2015 Auteur Signaler Partager Posté(e) le 13 novembre 2015 Oui, j'ai pas trop le choix si je veux de belles icones Lien vers le commentaire Partager sur d’autres sites More sharing options...
ASTECH44 Posté(e) le 13 novembre 2015 Signaler Partager Posté(e) le 13 novembre 2015 De mon côté, J'ai préféré que chaque changement d'une Input de l'IPX via un push actionne un module virtuel dont l'objectif est de lire (dans l'ex ci-dessous) les 10 premières inputs, et en fonction de leur état mettre à jour un VD par Input (icône Ouvert ou fermé). Pour rajouter des Inputs ou des actions différentes sur les modules virtuels, j'ai crée une table à 4 entrées avec la structure suivante suivant tuto de JOJO http://www.domotique-fibaro.fr/index.php/topic/4149-afficher-les-valeurs-dune-variable-dans-un-vd-sour-hc2/ -- Champ 1 --> nom de la variable globale entre " "-- Champ 2 --> ID du VD qui affichera l'icon en fonction de l'état de la VG ci-dessus-- Champs 3 et 4 --> N° du bouton du VD ci-avant qui sera actionné, bouton1 = icône "fermé", bouton2 =icône "Ouvert" --[[ %% properties %% globals --]] -- interrogations des 10 Inputs de l'IPX800, retour d'un JSON suivant la syntaxe ci-dessous -- {"product":"IPX800_V3","IN1":1,"IN2":1,"IN3":1,"IN4":1,"IN5":0,"IN6":0,"IN7":0,"IN8":0,"IN9":0,"IN10":0,"IN11":0,"IN12":0,"IN13":0,"IN14":1,"IN15":0,"IN16":0,"IN17":0,"IN18":0,"IN19":0,"IN20":0,"IN21":1,"IN22":0,"IN23":0,"IN24":0,"IN25":0,"IN26":0,"IN27":0,"IN28":0,"IN29":0,"IN30":1,"IN31":0,"IN32":0} HC2 = Net.FHttp("192.168.x.yyy") response = HC2:GET("/api/xdevices.json?cmd=10") -- ----------------------------------------------------------------------------------------------------------------------------------- -- enregistrement du retour de l API dans une table response = json.decode(response) -- ETAPE 2 : les 10 Variables globales ci-après ont été crées manuellement --"IPX_Porte_Entree", "IPX_SDB_WC_Buand", "IPX_Portail_Garage", "IPX_Fen_Cuisine", "IPX_Fen_Salle_Jeux", "IPX_Fen_SaM", "IPX_Baie_SaM", "IPX_Baie_Salon", "IPX_Baie_Salon_TV", "IPX_Porte_Appart" -- écriture des valeurs (0 ou 1) des variables gobales avec les valeurs lue dans le JSON de l'IPX champs IN1 à 10 fibaro:setGlobal("IPX_Porte_Entree", response.IN1) fibaro:setGlobal("IPX_SDB_WC_Buand", response.IN2) fibaro:setGlobal("IPX_Portail_Garage", response.IN3) fibaro:setGlobal("IPX_Fen_Cuisine", response.IN4) fibaro:setGlobal("IPX_Fen_Salle_Jeux", response.IN5) fibaro:setGlobal("IPX_Fen_SaM", response.IN6) fibaro:setGlobal("IPX_Baie_SaM", response.IN7) fibaro:setGlobal("IPX_Baie_Salon", response.IN8) fibaro:setGlobal("IPX_Baie_Salon_TV", response.IN9) fibaro:setGlobal("IPX_Porte_Appart", response.IN10) -- ---------------------------------------------------------------------------------------------------------------------------------------- -- ETAPE 3 test des VG et action sur bouton 1 ou 2 d'un VD par VG pour affichage de l'Icone Ouvert ou Fermé -- Tous les ID des VD sont remplacés par un string, tuto de tchery http://www.domotique-fibaro.fr/index.php/topic/5669-se-passer-des-id-dans-vos-scenes-et-vd/ -- de la variable contenant tous les identifiants notamment PUSH RFID=310 local idALL=json.decode((fibaro:getGlobal('idTable'))); -- Création d'une Table avec la structure suivante suivant tuto de JOJO http://www.domotique-fibaro.fr/index.php/topic/4149-afficher-les-valeurs-dune-variable-dans-un-vd-sour-hc2/ -- 1/ nom de la variable globale entre " -- 2/ ID du VD qui affichera l'icon en fonction de l'état de la VG ci-dessus -- 3 et 4 N° du bouton du VD ci-avant qui sera actionné, bouton1 = icône "fermé", bouton2 =icône "Ouvert" local Table = { "IPX_Porte_Entree", idALL["PORTE_ENTREE"], 1, 2, "IPX_SDB_WC_Buand", idALL["FENETRE_SDB_WC_BUAND"], 1, 2, "IPX_Portail_Garage", idALL["PEORTAIL_GARAGE"], 1, 2, "IPX_Fen_Cuisine", idALL["FENETRE_CUISINE"], 1, 2, "IPX_Fen_Salle_Jeux", idALL["FENETRE_BUREAU"], 1, 2, "IPX_Fen_SaM", idALL["FENETRE_SALLE_MANGER"], 1, 2, "IPX_Baie_SaM", idALL["BAIE_SALLE_MANGER"], 1, 2, "IPX_Baie_Salon", idALL["BAIE_SALON"], 1, 2, "IPX_Baie_Salon_TV", idALL["BAIE_SALON_TV"], 1, 2, "IPX_Porte_Appart", idALL["PORTE_APPARTEMENT"], 1, 2, } ---------------------------------- -- DO not change bellow this line ---------------------------------- 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_1 = tonumber(Table[i+2]) local Btn_2 = tonumber(Table[i+3]) fibaro:debug(VD_id.. " "..Btn_1.." "..Btn_2) VG_Val = tonumber(fibaro:getGlobalValue(VG_Nom)) --VG_Val = tonumber(fibaro:getGlobalValue(VG_Nom)) fibaro:debug('Valeur de la variable Globale = ' ..VG_Val) if VG_Val == 1 then Btn= Btn_1 fibaro:call(VD_id, "pressButton", Btn) fibaro:debug("Appui sur le bouton : " ..Btn.. " de la VD_id " ..VD_id) else Btn= Btn_2 fibaro:call(VD_id, "pressButton", Btn) fibaro:debug("Appui sur le bouton : " ..Btn.. " de la VD_id " ..VD_id) end i = i + 4 end 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
BenjyNet Posté(e) le 14 novembre 2015 Signaler Partager Posté(e) le 14 novembre 2015 Il y a un autre truc aussi, au lieu de faire une VG par entrée on peut stocker l'ensemble dans une VG sous forme binaire %10110011 ou hexa $B3. Puis si la VG change on la lit dans chaque VD pour update en fonction de la valeur. Bien sur chaque changement de relais sur l'ipx actionne cette scène comme tu le fais ici. Lien vers le commentaire Partager sur d’autres sites More sharing options...
ASTECH44 Posté(e) le 14 novembre 2015 Signaler Partager Posté(e) le 14 novembre 2015 Effectivement les 10 lignes de "setGlobal" (10 dans le cas présent, mais ce pourrait être jusqu'à 32) ne sont pas satisfaisantes, le remplissage par une boucle ( for ou while) à partir du json.decode(response) d'une table avec le label de la VG associée à l'ouvrant et sa valeur 0 ou 1 serait plus pro et plus générique.; J'utilise actuellement ces variables pour le traitement de l'échec d'activation ou non de mon alarme si un ouvrant n'est pas fermé,et intrusion (en doublon d'une vielle alarme non communiquante) mais aussi en prévision pour d'autres process, notamment la gestion du chauffage pièce par pièce. Toute aide serait la bien venue. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Syris Posté(e) le 15 novembre 2015 Auteur Signaler Partager Posté(e) le 15 novembre 2015 Effectivement, utiliser une table est une bonne idée, je vais tenter de le faire comme sa Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 16 novembre 2015 Signaler Partager Posté(e) le 16 novembre 2015 Sympa en passant par cette techinuqe ASTECHH44, vivement que j'ai mon IPX, je volerai ton idee ;-) Lien vers le commentaire Partager sur d’autres sites More sharing options...
ASTECH44 Posté(e) le 16 novembre 2015 Signaler Partager Posté(e) le 16 novembre 2015 @ pepite: le mot "voler" est un peu fort, partager est suffisant.et gratifiant. Nota : j'avais testé le plugin de Krikoff pour l'IPX, très intéressant mais c'est du polling pour l'instant !!! Lien vers le commentaire Partager sur d’autres sites More sharing options...
BenjyNet Posté(e) le 16 novembre 2015 Signaler Partager Posté(e) le 16 novembre 2015 Moi pour pas avoir de polling j'ai 2 scènes qui sont activées sur push relais et/ou entrée. Ça évité de schecker àchaque fois l'IPX et de tout surcharger pour rien ! Chacune des scènes me permettent de stocker en variable globale l'état des relais/entrées ou alors de mettre àjour des icones sur des VD. Lien vers le commentaire Partager sur d’autres sites More sharing options...
ASTECH44 Posté(e) le 17 novembre 2015 Signaler Partager Posté(e) le 17 novembre 2015 De même, je n'utilise de polling, c'est l'IPX qui informe par un push du changement d'état des ses INPUT dans le cas présent. Je considère que l'IPX V3 (produit très intéressant) est cependant un périphérique esclave de la box HC2, et donc sa programmation doit être la plus simple possible. Question de point de vue, mais je préfère le push unique dans l'IPX plutôt qu'au max 64 push personnalisés (32 entrées et 2 états) et réserver àla HC2, le traitement de ce push. Lien vers le commentaire Partager sur d’autres sites More sharing options...
BenjyNet Posté(e) le 17 novembre 2015 Signaler Partager Posté(e) le 17 novembre 2015 Moi j'ai privilégié 2 pushs un pour toutes les entrées et un pour toutes les sorties ça évite d'avoir la lecture de toutes les entrées si seulement une sortie c'est mise àjour (ça évite de surcharger pour rien) mais après chacun fait sa sauce, l'essentiel étant que ça marche. Pour moi c'est une V4 au passage Lien vers le commentaire Partager sur d’autres sites More sharing options...
ASTECH44 Posté(e) le 17 novembre 2015 Signaler Partager Posté(e) le 17 novembre 2015 @BenjyNet, nous sommes en phase, tu as bien un push unique commun àtoutes tes entrées, dans mon post je ne parlais pas des Output et j'ai de même un push unique commun àtoutes les sorties. En résumé un push pour toutes les INPUTS pointant vers un module virtuel de la HC2 et en charge de l'analyse de l'INPUT ayant provoqué le push ( response = HC2:GET("/api/xdevices.json?cmd=10") )puis l'action, cette fois ci, personnalisée àeffectuer. Et de même pour les OUTPUTS avec un autre MV quasi similaire (response = HC2:GET("/api/xdevices.json?cmd=20")). Lien vers le commentaire Partager sur d’autres sites More sharing options...
Syris Posté(e) le 24 novembre 2015 Auteur Signaler Partager Posté(e) le 24 novembre 2015 Le coup du push, c'est une excellente idée ! Ma réflection concernant la réduction du code m'a amené a sa : local i = 1 local TotalEntrees = 8 + 1 local Rvar = {response.IN1,response.IN2,response.IN3,response.IN4,response.IN5,response.IN6,response.IN7,response.IN8} local VariablesIPX = {"IPX_IN1","IPX_IN2","IPX_IN3","IPX_IN4","IPX_IN5","IPX_IN6","IPX_IN7","IPX_IN8"} while i < TotalEntrees do fibaro:debug(i) fibaro:setGlobal(VariablesIPX[i], Rvar[i]) fibaro:debug(Rvar[i]) i = i + 1 end Mais sa revient presque au même ^^ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Syris Posté(e) le 25 novembre 2015 Auteur Signaler Partager Posté(e) le 25 novembre 2015 Maj du jour, bonjour : local i = 1 local TotalEntrees = 8 + 1 local Rvar = {response.IN1,response.IN2,response.IN3,response.IN4,response.IN5,response.IN6,response.IN7,response.IN8} local VariablesIPX = "IPX_IN"..i.."" DateHeure = os.date("%Y-%m-%d %H:%M:%S", os.time()) fibaro:log(DateHeure.."") fibaro:debug(DateHeure) while i < TotalEntrees do fibaro:debug(i) fibaro:setGlobal(VariablesIPX, Rvar[i]) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..i..".value", Rvar[i]); fibaro:debug(Rvar[i]) i = i + 1 end - Réductions d'écriture pour les variables globales EDIT : Ne fonctionne pas de cette forme, si qqn a une idée? (surement une erreur de syntaxe?) - Rajout de la MAJ des labels concernés - Me manque plus qu'a créer un tableau pour faire les maj de mes VD icônes associés Lien vers le commentaire Partager sur d’autres sites More sharing options...
BenjyNet Posté(e) le 25 novembre 2015 Signaler Partager Posté(e) le 25 novembre 2015 Pourquoi tu mets pas àjour tes icones directement dans cette scene ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Syris Posté(e) le 25 novembre 2015 Auteur Signaler Partager Posté(e) le 25 novembre 2015 Benjynet : Je trouve plus logique (personnellement) de garder les id des icônes concernés dans les VD concernés au cas ou j'ai un crash de la box... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Syris Posté(e) le 25 novembre 2015 Auteur Signaler Partager Posté(e) le 25 novembre 2015 Version mise à jour Si jamais vous avez d'autres idées de modification ou d'optimisation, je suis pas contre! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Syris Posté(e) le 28 novembre 2015 Auteur Signaler Partager Posté(e) le 28 novembre 2015 Mise à jour V3 avec gestion des sorties et quelques captures d'écrans Lien vers le commentaire Partager sur d’autres sites More sharing options...
BenjyNet Posté(e) le 28 novembre 2015 Signaler Partager Posté(e) le 28 novembre 2015 (modifié) Punaise, ça me semble d'un compliqué ta gestion avec tous ces VD et leurs boutons On/Off/MaJ.... mais pourquoi pas. Par contre, rajoute un mot sur ce qu'il faut mettre dans le push pour ceux qui ne connaissent pas bien l'IPX parce que sinon c'est inutilisable. Modifié le 28 novembre 2015 par BenjyNet Lien vers le commentaire Partager sur d’autres sites More sharing options...
Syris Posté(e) le 28 novembre 2015 Auteur Signaler Partager Posté(e) le 28 novembre 2015 J'ai pas encore trouvé plus simple ^^ Effectivement pour les vd sorties je voulais le retour d'état au cas l'une d'elle soit piloté en direct par l'ipx et non par la box. Envoyé de mon D5833 en utilisant Tapatalk Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olinet Posté(e) le 3 janvier 2016 Signaler Partager Posté(e) le 3 janvier 2016 Ce système IPX800 m'intéresse, mais très dur à trouver en Suisse. Quelqu'un a-t-il une adresse? Lien vers le commentaire Partager sur d’autres sites More sharing options...
BenjyNet Posté(e) le 3 janvier 2016 Signaler Partager Posté(e) le 3 janvier 2016 http://gce-electronics.com/fr/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés