mamoreau Posté(e) le 1 novembre 2018 Signaler Posté(e) le 1 novembre 2018 Bonjour à tous, j'avance dans mon VD mais je n'arrive pas, en fait la partie "pieces" ne se desactive pas : fibaro:setGlobal("ModeChauffage", "Travail"); fibaro:call(205, "setProperty", "ui.Label1.value", "Mode Travail"); local panel = 166 Vacation = tonumber(Vacation) HC2 = Net.FHttp("127.0.0.1",11111) --reception josn du panneau de chauggafe response ,status, errorCode = HC2:GET("/api/panels/heating/"..panel) if (tonumber(errorCode)==0) then fibaro:debug("recieved OK "..status) else fibaro:debug("recieved Error "..errorCode) end --decode la table json jsonTable = json.decode(response) jsonTable.properties.handTemperature = 0 jsonTable.properties.handTimestamp = 0 jsonTable.properties.rooms = '' --on recode la table json jsonTable = json.encode(jsonTable) --envoi les modifs response ,status, errorCode = HC2:PUT("/api/panels/heating/"..panel, jsonTable) if (tonumber(errorCode)==0) then fibaro:debug("send OK "..status) else fibaro:debug("send Error "..errorCode) end Pouvez vous m'aider
mamoreau Posté(e) le 1 novembre 2018 Auteur Signaler Posté(e) le 1 novembre 2018 (modifié) Bon j'ai trouvé, ci quelqu'un est intéressé, j'ai créé un VD pour changer mon chauffage 2 zones de chauffage (maison à étage, haut et bas) 3 Modes de chauffage (Travail, Vavance présent et vacances absent) Mode_Chauffage.vfib Modifié le 1 novembre 2018 par mamoreau 1 1
pepite Posté(e) le 2 novembre 2018 Signaler Posté(e) le 2 novembre 2018 Bonjour, Bravo !! Et donc quel était ton bug ?
mamoreau Posté(e) le 4 novembre 2018 Auteur Signaler Posté(e) le 4 novembre 2018 (modifié) Désolé pour le retard. Bon le but étant de créer un VD afin d'appliquer des typologies de chauffage suivant 3 critères, sachant que j'ai 4 zones de chauffage et 1 étage : Période ou nous sommes présents à la maison Période ou nous sommes au travail Période ou nous sommes en vacances parti de la maison. Création des variables : Avec 3 valeurs : VancancesPresent, VacancesAbsent, et Travail. 2. Création des panneaux de chauffage : Dans ces panneaux j'ai attribué les zones de chauffage : exemple : RDC Vacances Présent : 3. Création du VD L'idée est de basculer les zone de chauffage dans les bon panneau de chauffage via les API du home center. A - Bouton "Vancances Absent" (merci jjacques68 ) fibaro:setGlobal("ModeChauffage", "VacancesAbsent"); fibaro:call(205, "setProperty", "ui.Label1.value", "Vacances Absent") local panel = 166 local Vacation = fibaro:getGlobal("TempHorsGel") Vacation = tonumber(Vacation) HC2 = Net.FHttp("127.0.0.1",11111) --reception josn du panneau de chauggafe response ,status, errorCode = HC2:GET("/api/panels/heating/"..panel) if (tonumber(errorCode)==0) then fibaro:debug("recieved OK "..status) else fibaro:debug("recieved Error "..errorCode) end --decode la table json jsonTable = json.decode(response) --passe en mode vacances jsonTable.properties.vacationTemperature = Vacation jsonTable.properties.handTemperature = 0 jsonTable.properties.handTimestamp = 0 --on recode la table json jsonTable = json.encode(jsonTable) --envoi les modifs response ,status, errorCode = HC2:PUT("/api/panels/heating/"..panel, jsonTable) if (tonumber(errorCode)==0) then fibaro:debug("send OK "..status) else fibaro:debug("send Error "..errorCode) end ----- local panel = 168 local Vacation = fibaro:getGlobal("TempHorsGel") Vacation = tonumber(Vacation) HC2 = Net.FHttp("127.0.0.1",11111) --reception josn du panneau de chauggafe response ,status, errorCode = HC2:GET("/api/panels/heating/"..panel) if (tonumber(errorCode)==0) then fibaro:debug("recieved OK "..status) else fibaro:debug("recieved Error "..errorCode) end --decode la table json jsonTable = json.decode(response) --passe en mode vacances jsonTable.properties.vacationTemperature = Vacation jsonTable.properties.handTemperature = 0 jsonTable.properties.handTimestamp = 0 --on recode la table json jsonTable = json.encode(jsonTable) --envoi les modifs response ,status, errorCode = HC2:PUT("/api/panels/heating/"..panel, jsonTable) if (tonumber(errorCode)==0) then fibaro:debug("send OK "..status) else fibaro:debug("send Error "..errorCode) end ----- local panel = 170 local Vacation = fibaro:getGlobal("TempHorsGel") Vacation = tonumber(Vacation) HC2 = Net.FHttp("127.0.0.1",11111) --reception josn du panneau de chauggafe response ,status, errorCode = HC2:GET("/api/panels/heating/"..panel) if (tonumber(errorCode)==0) then fibaro:debug("recieved OK "..status) else fibaro:debug("recieved Error "..errorCode) end --decode la table json jsonTable = json.decode(response) --passe en mode vacances jsonTable.properties.vacationTemperature = Vacation jsonTable.properties.handTemperature = 0 jsonTable.properties.handTimestamp = 0 --on recode la table json jsonTable = json.encode(jsonTable) --envoi les modifs response ,status, errorCode = HC2:PUT("/api/panels/heating/"..panel, jsonTable) if (tonumber(errorCode)==0) then fibaro:debug("send OK "..status) else fibaro:debug("send Error "..errorCode) end ----- local panel = 169 local Vacation = fibaro:getGlobal("TempHorsGel") Vacation = tonumber(Vacation) HC2 = Net.FHttp("127.0.0.1",11111) --reception josn du panneau de chauggafe response ,status, errorCode = HC2:GET("/api/panels/heating/"..panel) if (tonumber(errorCode)==0) then fibaro:debug("recieved OK "..status) else fibaro:debug("recieved Error "..errorCode) end --decode la table json jsonTable = json.decode(response) --passe en mode vacances jsonTable.properties.vacationTemperature = Vacation jsonTable.properties.handTemperature = 0 jsonTable.properties.handTimestamp = 0 --on recode la table json jsonTable = json.encode(jsonTable) --envoi les modifs response ,status, errorCode = HC2:PUT("/api/panels/heating/"..panel, jsonTable) if (tonumber(errorCode)==0) then fibaro:debug("send OK "..status) else fibaro:debug("send Error "..errorCode) end Ce code permet de passer tous les panneaux de chauffages en mode "Vacances" avec une température déterminée dans la valeur global, (les deux boutons + et - permettent eux de choisir cette valeur) Code du bouton "-" local tps = fibaro:getGlobalValue("TempHorsGel") if ( tonumber(fibaro:getGlobalValue("TempHorsGel")) > 0 ) then tps = tps - 1 fibaro:setGlobal('TempHorsGel', tps); fibaro:debug(tps) end local tempHG = fibaro:getGlobal("TempHorsGel") .. " °C" fibaro:call(205, "setProperty", "ui.Label2.value", tempHG) Code du bouton "+" local tps = fibaro:getGlobalValue("TempHorsGel") if ( tonumber(fibaro:getGlobalValue("TempHorsGel")) < 23 ) then tps = tps + 1 fibaro:setGlobal('TempHorsGel', tps); fibaro:debug(tps) end local tempHG = fibaro:getGlobal("TempHorsGel") .. " °C" fibaro:call(205, "setProperty", "ui.Label2.value", tempHG) 4. Passage en mode travail Le but est de passer toutes les zones de chauffage dans les panneaux "Travail" local panel = 166 Vacation = tonumber(Vacation) HC2 = Net.FHttp("127.0.0.1",11111) --reception josn du panneau de chauggafe response ,status, errorCode = HC2:GET("/api/panels/heating/"..panel) if (tonumber(errorCode)==0) then fibaro:debug("recieved OK "..status) else fibaro:debug("recieved Error "..errorCode) end --decode la table json jsonTable = json.decode(response) jsonTable.properties.handTemperature = 0 jsonTable.properties.handTimestamp = 0 local nouveau = ('{"id": 166,"name": "Température RDC VP","mode": "Schedule","properties": {"handTemperature": 0,"handTimestamp": 0,"vacationTemperature": 0,"currentTemperature": 22,"rooms": []},"created": 1541077542,"modified": 1541077542}') --on recode la table json jsonTable = json.encode(nouveau) --envoi les modifs response ,status, errorCode = HC2:PUT("/api/panels/heating/"..panel, nouveau) if (tonumber(errorCode)==0) then fibaro:debug("send OK "..status) else fibaro:debug("send Error "..errorCode) end -- Je charge les pieces dans le nouveau panel local panel2 = 169 Vacation = tonumber(Vacation) HC2 = Net.FHttp("127.0.0.1",11111) --reception josn du panneau de chauggafe response ,status, errorCode = HC2:GET("/api/panels/heating/"..panel2) if (tonumber(errorCode)==0) then fibaro:debug("recieved OK "..status) else fibaro:debug("recieved Error "..errorCode) end --decode la table json jsonTable = json.decode(response) jsonTable.properties.handTemperature = 0 jsonTable.properties.handTimestamp = 0 local nouveau2 = ('{"id": 169,"name": "Température RDC Travail","mode": "Schedule","properties": {"handTemperature": 0,"handTimestamp": 0,"vacationTemperature": 0,"currentTemperature": 22,"rooms": [4,40,41,57,93]},"created": 1541077542,"modified": 1541077542}') --on recode la table json jsonTable = json.encode(nouveau2) --envoi les modifs response ,status, errorCode = HC2:PUT("/api/panels/heating/"..panel2, nouveau2) if (tonumber(errorCode)==0) then fibaro:debug("send OK "..status) else fibaro:debug("send Error "..errorCode) end ------ local panel3 = 168 Vacation = tonumber(Vacation) HC2 = Net.FHttp("127.0.0.1",11111) --reception josn du panneau de chauggafe response ,status, errorCode = HC2:GET("/api/panels/heating/"..panel3) if (tonumber(errorCode)==0) then fibaro:debug("recieved OK "..status) else fibaro:debug("recieved Error "..errorCode) end --decode la table json jsonTable = json.decode(response) jsonTable.properties.handTemperature = 0 jsonTable.properties.handTimestamp = 0 local nouveau3 = ('{"id": 168,"name": "Température ETAGE VP","mode": "Schedule","properties": {"handTemperature": 0,"handTimestamp": 0,"vacationTemperature": 0,"currentTemperature": 22,"rooms": []},"created": 1541077542,"modified": 1541077542}') --on recode la table json jsonTable = json.encode(nouveau3) --envoi les modifs response ,status, errorCode = HC2:PUT("/api/panels/heating/"..panel3, nouveau3) if (tonumber(errorCode)==0) then fibaro:debug("send OK "..status) else fibaro:debug("send Error "..errorCode) end ---- local panel4 = 170 Vacation = tonumber(Vacation) HC2 = Net.FHttp("127.0.0.1",11111) --reception josn du panneau de chauggafe response ,status, errorCode = HC2:GET("/api/panels/heating/"..panel4) if (tonumber(errorCode)==0) then fibaro:debug("recieved OK "..status) else fibaro:debug("recieved Error "..errorCode) end --decode la table json jsonTable = json.decode(response) jsonTable.properties.handTemperature = 0 jsonTable.properties.handTimestamp = 0 local nouveau4 = ('{"id": 170,"name": "Température ETAGE Travail","mode": "Schedule","properties": {"handTemperature": 0,"handTimestamp": 0,"vacationTemperature": 0,"currentTemperature": 22,"rooms": [58,59,121]},"created": 1541077542,"modified": 1541077542}') --on recode la table json jsonTable = json.encode(nouveau4) --envoi les modifs response ,status, errorCode = HC2:PUT("/api/panels/heating/"..panel4, nouveau4) if (tonumber(errorCode)==0) then fibaro:debug("send OK "..status) else fibaro:debug("send Error "..errorCode) end fibaro:setGlobal("ModeChauffage", "Travail"); fibaro:call(205, "setProperty", "ui.Label1.value", "Mode Travail"); 5. Passage en mode "Vacances Présent" local panel = 166 Vacation = tonumber(Vacation) HC2 = Net.FHttp("127.0.0.1",11111) --reception josn du panneau de chauggafe response ,status, errorCode = HC2:GET("/api/panels/heating/"..panel) if (tonumber(errorCode)==0) then fibaro:debug("recieved OK "..status) else fibaro:debug("recieved Error "..errorCode) end --decode la table json jsonTable = json.decode(response) jsonTable.properties.handTemperature = 0 jsonTable.properties.handTimestamp = 0 local nouveau = ('{"id": 166,"name": "Température RDC VP","mode": "Schedule","properties": {"handTemperature": 0,"handTimestamp": 0,"vacationTemperature": 0,"currentTemperature": 22,"rooms": [4,40,41,57,93]},"created": 1541077542,"modified": 1541077542}') --on recode la table json jsonTable = json.encode(nouveau) --envoi les modifs response ,status, errorCode = HC2:PUT("/api/panels/heating/"..panel, nouveau) if (tonumber(errorCode)==0) then fibaro:debug("send OK "..status) else fibaro:debug("send Error "..errorCode) end -- Je charge les pieces dans le nouveau panel local panel2 = 169 Vacation = tonumber(Vacation) HC2 = Net.FHttp("127.0.0.1",11111) --reception josn du panneau de chauggafe response ,status, errorCode = HC2:GET("/api/panels/heating/"..panel2) if (tonumber(errorCode)==0) then fibaro:debug("recieved OK "..status) else fibaro:debug("recieved Error "..errorCode) end --decode la table json jsonTable = json.decode(response) jsonTable.properties.handTemperature = 0 jsonTable.properties.handTimestamp = 0 local nouveau2 = ('{"id": 169,"name": "Température RDC Travail","mode": "Schedule","properties": {"handTemperature": 0,"handTimestamp": 0,"vacationTemperature": 0,"currentTemperature": 22,"rooms": []},"created": 1541077542,"modified": 1541077542}') --on recode la table json jsonTable = json.encode(nouveau2) --envoi les modifs response ,status, errorCode = HC2:PUT("/api/panels/heating/"..panel2, nouveau2) if (tonumber(errorCode)==0) then fibaro:debug("send OK "..status) else fibaro:debug("send Error "..errorCode) end ----- local panel3 = 168 Vacation = tonumber(Vacation) HC2 = Net.FHttp("127.0.0.1",11111) --reception josn du panneau de chauggafe response ,status, errorCode = HC2:GET("/api/panels/heating/"..panel3) if (tonumber(errorCode)==0) then fibaro:debug("recieved OK "..status) else fibaro:debug("recieved Error "..errorCode) end --decode la table json jsonTable = json.decode(response) jsonTable.properties.handTemperature = 0 jsonTable.properties.handTimestamp = 0 local nouveau3 = ('{"id": 168,"name": "Température ETAGE VP","mode": "Schedule","properties": {"handTemperature": 0,"handTimestamp": 0,"vacationTemperature": 0,"currentTemperature": 22,"rooms": [58,59,121]},"created": 1541077542,"modified": 1541077542}') --on recode la table json jsonTable = json.encode(nouveau3) --envoi les modifs response ,status, errorCode = HC2:PUT("/api/panels/heating/"..panel3, nouveau3) if (tonumber(errorCode)==0) then fibaro:debug("send OK "..status) else fibaro:debug("send Error "..errorCode) end ----- local panel4 = 170 Vacation = tonumber(Vacation) HC2 = Net.FHttp("127.0.0.1",11111) --reception josn du panneau de chauggafe response ,status, errorCode = HC2:GET("/api/panels/heating/"..panel4) if (tonumber(errorCode)==0) then fibaro:debug("recieved OK "..status) else fibaro:debug("recieved Error "..errorCode) end --decode la table json jsonTable = json.decode(response) jsonTable.properties.handTemperature = 0 jsonTable.properties.handTimestamp = 0 local nouveau4 = ('{"id": 170,"name": "Température ETAGE Travail","mode": "Schedule","properties": {"handTemperature": 0,"handTimestamp": 0,"vacationTemperature": 0,"currentTemperature": 22,"rooms": []},"created": 1541077542,"modified": 1541077542}') --on recode la table json jsonTable = json.encode(nouveau4) --envoi les modifs response ,status, errorCode = HC2:PUT("/api/panels/heating/"..panel4, nouveau4) if (tonumber(errorCode)==0) then fibaro:debug("send OK "..status) else fibaro:debug("send Error "..errorCode) end fibaro:setGlobal("ModeChauffage", "VacancesPresent"); fibaro:call(205, "setProperty", "ui.Label1.value", "Vacances Présent"); Voila, il y a surement des amélioration à faire mais cela fonctionne. Je vous ai mis en PJ le VD, merci encore pour votre aide. Mode_Chauffage (1).vfib Modifié le 4 novembre 2018 par mamoreau
Messages recommandés