TonyC Posté(e) le 9 mars 2020 Signaler Posté(e) le 9 mars 2020 Il y a 19 heures, jjacques68 a dit : Maintenant faut que je réfléchisse pour avoir un système générique, pas trop envie de créer une multitude de scènes sur le HC2 et de QA sur le HC3, juste pour le temps de la migration.. hello suis pas certain que c'est ce que tu cherches à faire mais au cas ou voici un synchro auto de variables entre la hc2 et la hc3. Le principe est simple, il faut créer sur la hc3 les variables que tu souhaites synchro et c'est tout. le seule hic avec le code en l'état c'est qu'il ne faut pas avoir sur la hc3 des variables maj par la hc3 et qui existeraient sur la hc2 sinon ce sont les valeurs de la hc2 qui viendront écraser celle de la hc3. Si tu veux éviter ce phénomène il suffit de créer une liste restrictive des vars à updater... Mais ça t'évitera d'avoir une multiplication des scenes/QA durant la phase transitoire, Je l'avais justement écrit pour mais jamais eu à m'en servir car je suis en fin de portage de code. il te faudra mettre ce code dans le main loop d'un vd. HostVar = api.get("/globalVariables") HC2=Net.FHttp("192.168.01.XXX") --IP HC3 HC2:setBasicAuthentication("HC3user","HC3MDP") --Login response ,status, errorCode = HC2:GET("/api/globalVariables") fibaro:debug("status = " .. status) jsonTable = json.decode(response) for k,v in pairs(jsonTable) do ExternalVars = v.name ExtVarVal = v.value for a,b in pairs (HostVar) do LocalVars = b.name LocalVarVal = b.value if ExternalVars == LocalVars then -- fibaro:debug ("name "..LocalVars.." Values "..LocalVarVal) ExtVarVal = LocalVarVal --fibaro:debug( "post Ext Values = "..ExtVarVal) jsonTable.value = (LocalVarVal) local CommitVal = json.encode(jsonTable); HC2:PUT("/api/globalVariables/"..LocalVars, CommitVal) end end end 3
jjacques68 Posté(e) le 9 mars 2020 Signaler Posté(e) le 9 mars 2020 (modifié) Il y a 6 heures, pepite a dit : HC2 VG --> HC3 VG sans passer par un QA si je pouvais aussi avec un PUT comme l'a fait @TonyC mais cela ne marchera pas pour les remonté de capteurs, je souhaite avoir qqch de plus générique... mais je sais pas si je vais trouver comment faire. Si les capteurs sont juste des valeurs à exploiter dans les scènes, je pourrais les stocker dans une VG tableau... Mais s'ils doivent être trigger d'une scène, vais être obligé de passer par un QA spécifique à chaque capteur Modifié le 9 mars 2020 par jjacques68 1
jjacques68 Posté(e) le 9 mars 2020 Signaler Posté(e) le 9 mars 2020 Franchement, cette box est très prometteuse... J'ai mis pas mal de temps à faire des petits essai de cohabitations avec elle et d'autres équipements (HC2, IPX, mon soft sur écran tactile...) et bien ça se passe bien... Mais alors la migration va être longue...
ericl78 Posté(e) le 9 mars 2020 Signaler Posté(e) le 9 mars 2020 Tu utilises quoi comme soft sur ta dalle?Moi ImperiHome mais pas compatible hc3Envoyé de mon iPhone en utilisant Tapatalk
jjacques68 Posté(e) le 10 mars 2020 Signaler Posté(e) le 10 mars 2020 Comme je connais bien Windev, je me suis créé un soft moi-même.. Il reçoit les infos de la HC2 et maintenant aussi de la HC3 via une socket (enfin 2 maintenant) et pilote les équipements via les requêtes HTTP. 4
971jmd Posté(e) le 18 septembre 2020 Signaler Posté(e) le 18 septembre 2020 (modifié) Le 10/02/2020 à 15:55, Lazer a dit : C'est bien, mais : - si tu as une petite config, tu as aussi vite fait de tout réinclure from scratch - si tu as une grosse config, tu n'as pas envie que le process de migration rende ton système instable, alors autant prendre le temps de migrer en douceur avec les 2 réseaux Z-Wave en parallèle. Quand Fibaro vend du rêve, ils livrent un produit buggué. Quand Fibaro annonce peut être développer une fonctionnalité qui sera bugguée, je n'ose imaginer le résultat.... Salut je migre en douceur, mai pour le LUA c’est pas simple sur HC2 j’ai une télécommande avec plusieurs bouton --[[ %% properties 42 sceneActivation %% globals --]] --TESTEUR --local NumScene = fibaro:getValue(455, "sceneActivation") --fibaro:debug("Numéro de scène: " ..NumScene) ---CODE local ButtonPressed = fibaro:getValue(42, "sceneActivation") -------ON OFF sup cuisine if ( tonumber(ButtonPressed) == 1) then local deviceValue1 = tonumber(fibaro:getValue(14, "value")); if (deviceValue1 > 0) then fibaro:call(14, "turnOff") else fibaro:call(14, "turnOn"); end end ------ ON OFF LP du BAR if ( tonumber(ButtonPressed) == 2) then local deviceValue1 = tonumber(fibaro:getValue(458, "value")); if (deviceValue1 > 0) then fibaro:call(458, "turnOff"); else fibaro:call(458, "turnOn"); end end ------ open vl cuisine if ( tonumber(ButtonPressed) == 3) then fibaro:call(333, "open") fibaro:call(340, "open") ---333 VL PRICIPALE ----340 VL BAR end ----- BONNE NUIT bouton 2 maitenue if ( tonumber(ButtonPressed) == 4) then fibaro:call(333, "close") fibaro:call(340, "close") end ---5 ON OFF Mutimedia ------ ON OFF LP du BAR if ( tonumber(ButtonPressed) == 5) then local deviceValue1 = tonumber(fibaro:getValue(24, "value")); if (deviceValue1 > 0) then fibaro:call(24, "turnOff"); else fibaro:call(24, "turnOn"); end end ----6 ------ open vl cuisine if ( tonumber(ButtonPressed) == 6) then fibaro:call(333, "open") end ------7 off general lampe if ( tonumber(ButtonPressed) == 7) then for _,v in ipairs(fibaro:getDevicesId({properties = {isLight=true}})) do fibaro:call(v, "turnOff") end end if ( tonumber(ButtonPressed) == 8) then fibaro:call(45, "setValue", "5"); end sur HC3 j’arrive sur un seul bouton { conditions = { { id = 81, isTrigger = true, operator = "==", property = "sceneActivationEvent", type = "device", value = 1 } }, operator = "all" } ACTION fibaro.call(21, 'turnOn') ha FIBARO Modifié le 18 septembre 2020 par 971jmd
Messages recommandés