jjacques68 Posté(e) le 9 janvier 2016 Signaler Posté(e) le 9 janvier 2016 (modifié) Bonjour, J'ai actuellement un WallPlug qui alimente une armoire informatique et je souhaite savoir s'il est possible de verrouillé ce WallPlug. C'est à dire, qu'il y ait une demande de mot de passe lorsque l'on clique sur on/off depuis un iPhone/iPad par exemple. J'ai vu qu'on pouvait le cacher dans le système, mais alors du coup la consommation n'apparait plus non plus... Je souhaite qu'il reste visible mais que sont utilisation soit protégée. Une fausse manipulation, un doigts qui traine là où il faut pas sur l'écran et hop, ça coupe tout ... pas bon ça... merci d'avance pour vos conseil... JJacques68 Modifié le 9 janvier 2016 par Lazer Sujet déplacé
Krikroff Posté(e) le 9 janvier 2016 Signaler Posté(e) le 9 janvier 2016 Oui c'est possible de verrouiller le WallPlug, dans les paramètres du module Pour la protection par mot de passe, une piste de travail ici : http://www.domotique-fibaro.fr/index.php/topic/1475-d%C3%A9clenchement-par-code-pin-security-virtual-keyboard/
jojo Posté(e) le 9 janvier 2016 Signaler Posté(e) le 9 janvier 2016 il y a peut-être plus simple, si en fait tu ne veux pas l'éteindre par mégarde : mettre le paramètre 1 (Always On) àactif. Tu ne sauras même plus l'éteindre par l'interface ou physiquement avec le petit bouton. Il agira donc uniquement comme mesure d'intensité de courant. Je n'ai pas testé si par LUA il était possible de l'allumer/éteindre.
Krikroff Posté(e) le 9 janvier 2016 Signaler Posté(e) le 9 janvier 2016 Oui jojo c'est bien ma proposition, d'utiliser les paramètre du wallplug pour cela et oui c'est possible en lua: désactiver le paramètre 1 allumer ou éteindre puis réactiver le paramètre 1. J'utilise cela pour avoir la main sur la xboxone familiale Envoyé de mon smartphone
jojo Posté(e) le 9 janvier 2016 Signaler Posté(e) le 9 janvier 2016 sorry Krikroff , j'avais lu ta réponse trop vite, j'étais allé directement au lien (très intéressant par ailleurs)
jjacques68 Posté(e) le 9 janvier 2016 Auteur Signaler Posté(e) le 9 janvier 2016 ok j'ai bien compris le paramètre 1. Par contre comment désactiver ce paramètre 1 dans une scène ? Je vois pas quel propriété utilisée... (ci-joint miniature...) merci pour vos idées !!
jojo Posté(e) le 9 janvier 2016 Signaler Posté(e) le 9 janvier 2016 ouvre le json de ton device, tu verras ce que tu veux : <Ipbox>/api/devices/<ID device>
jjacques68 Posté(e) le 9 janvier 2016 Auteur Signaler Posté(e) le 9 janvier 2016 tu m'avais déjàparlé de json jojo, mais je comprends rien àce truc
jojo Posté(e) le 9 janvier 2016 Signaler Posté(e) le 9 janvier 2016 alors cela va être TRES chaud pour l'expliquer. Je te propose de regarder dans ma signature un exemple de comment on peut jouer avec les json (Panneaux de chauffage en fonction...) Ou si Krikroff repasse, comme il a fait cela pour sa xboxone, il pourrait te donner son code "tout cuit" ?
jjacques68 Posté(e) le 9 janvier 2016 Auteur Signaler Posté(e) le 9 janvier 2016 bon en fouillant un peu dans l'utilitaire fourni de HC2 j'ai trouvé le paramètre 1, voir miniature mais alors pour l'exploiter... ??? !!!
jjacques68 Posté(e) le 9 janvier 2016 Auteur Signaler Posté(e) le 9 janvier 2016 suis entrain, mais àcette heure si... c'est difficile
jjacques68 Posté(e) le 10 janvier 2016 Auteur Signaler Posté(e) le 10 janvier 2016 ---------------------------------- -- DO not change bellow this line --------------------------------- local HC2 = Net.FHttp("127.0.0.1",11111) -- détermination de la version du firmware local GETheating = "" payload = "/api/settings/info" response, status, errorCode = HC2:GET(payload) if tonumber(status) == 200 then jsonTable = json.decode(response) if tonumber(jsonTable.softVersion) >= 4 then version = "4.x" GETheating = "/api/panels/heating/" else version = "3.x" GETheating = "/api/panels/heating?id=" end else fibaro:debug('<span style="color:red;">status='..status..', errorCode='..errorCode..', payload='..payload..', response='..response..'</span>') end -- fonction de mise à jour du heating panel -- si handTemperature == 0, c'est en auto function HeatPanel(id,HandTmp) jsonpanel = HC2:GET(GETheating ..id) jsontable = json.decode(jsonpanel) handTimestamp = jsontable.properties.handTimestamp handTemperature = jsontable.properties.handTemperature name = jsontable.name NouveauPanel = ('{"id":' ..id.. ',"name":"'..name.. '","properties":{"handTemperature":' ..handTemperature.. ',"handTimestamp": ' ..handTimestamp.. ',"vacationTemperature":' ..HandTmp.. '}}') HC2:PUT(GETheating ..id, NouveauPanel) end c'est dans ce code que ça se trouve ? mais là tu ne fais que lire des valeurs en json ? non ? tu n'en modifies pas ?
jojo Posté(e) le 10 janvier 2016 Signaler Posté(e) le 10 janvier 2016 je les lis, puis les modifient ici NouveauPanel = ('{"id":' ..id.. ',"name":"'..name.. '","properties":{"handTemperature":' ..handTemperature.. ',"handTimestamp": ' ..handTimestamp.. ',"vacationTemperature":' ..HandTmp.. '}}') HC2:PUT(GETheating ..id, NouveauPanel)
jjacques68 Posté(e) le 10 janvier 2016 Auteur Signaler Posté(e) le 10 janvier 2016 bon ok je regarde demain... là merci pour la piste de travail les gars !!
Krikroff Posté(e) le 10 janvier 2016 Signaler Posté(e) le 10 janvier 2016 Bon en gros cela donne ceci: Pour le ON local deviceID = 445; local json = '{"id":'..deviceID..',"properties":{"parameters":[{"id": 1,"size": 1,"value": 0}]}}'; local HC2 = Net.FHttp("127.0.0.1", 11111); local response, status, errorCode = HC2:PUT("/api/devices/"..deviceID, json) if tonumber(status) == 200 then fibaro:debug("Security locked"); fibaro:sleep(1000); fibaro:call(deviceID, "turnOn"); fibaro:debug("PSU ON"); else fibaro:debug("Try again "..deviceID.. " "..status); end Et pour le OFF local deviceID = 445; local json = '{"id":'..deviceID..',"properties":{"parameters":[{"id": 1,"size": 1,"value": 1}]}}'; local HC2 = Net.FHttp("127.0.0.1", 11111); local response, status, errorCode = HC2:PUT("/api/devices/"..deviceID, json) if tonumber(status) == 200 then fibaro:debug("Security unlocked"); fibaro:sleep(1000); fibaro:call(deviceID, "turnOff"); fibaro:debug("PSU OFF"); else fibaro:debug("Try again "..deviceID.. " "..status); end Et pour le FUN ...
jjacques68 Posté(e) le 10 janvier 2016 Auteur Signaler Posté(e) le 10 janvier 2016 Promis les gars demain je m'y colle !!!! mais là je peux plus mille merci !!! et je vous tiens au courant
jjacques68 Posté(e) le 10 janvier 2016 Auteur Signaler Posté(e) le 10 janvier 2016 Re-bonjour messieurs !! alors je viens donner des nouvelles, donc j'ai créé une scène en mettant ton code Krikroff et malheureusement j'ai un message d'erreur... Voilà le printscreen : (miniature) si tu as une idées...
Krikroff Posté(e) le 10 janvier 2016 Signaler Posté(e) le 10 janvier 2016 Oui ce code ne fonctionne que dans un VD. Je te post une version compatible avec une scène asap... Envoyé de mon smartphone
Nico Posté(e) le 10 janvier 2016 Signaler Posté(e) le 10 janvier 2016 Krikri, tu as un noeud mort sur ta box
jjacques68 Posté(e) le 10 janvier 2016 Auteur Signaler Posté(e) le 10 janvier 2016 ok merci c'est sympa.
Krikroff Posté(e) le 10 janvier 2016 Signaler Posté(e) le 10 janvier 2016 @Nico, oui et même plusieurs avec la 4.061b, des templates différents et des modules qui doivent être reconfigurés
Nico Posté(e) le 10 janvier 2016 Signaler Posté(e) le 10 janvier 2016 Ahh mince, pas eu le cas pour le moment, même en 4.062b, àsuivre.
Krikroff Posté(e) le 10 janvier 2016 Signaler Posté(e) le 10 janvier 2016 @jjacques68, Voici la version scène pour enlever la protection puis éteindre le WallPlug, je te laisse faire la version inverse: il faut mettre les mains dedans pour que cela rentre local deviceID = 445 local httpClient = net.HTTPClient(); httpClient:request('http://127.0.0.1:11111/api/devices', { success = function(response) if tonumber(response.status) == 200 then print("Security unlocked"); fibaro:sleep(1000); fibaro:call(deviceID, "turnOff"); print("PSU OFF"); else print("Response error " .. response.status) end end, error = function(err) print('Request error ' .. err) end, options = { method = 'PUT', headers = { ["content-type"] = 'application/json' }, data = '{"id":'..deviceID..',"properties":{"parameters":[{"id": 1,"size": 1,"value": 1}]}}' } });
Messages recommandés