jjacques68 Posté(e) le 29 mars 2020 Signaler Posté(e) le 29 mars 2020 hello tout le monde, petite question, si on veut faire un shutdown de la box, c’est la fonction suivante ? fibaro.homeCenter.systemService.suspend() d’après la doc : Citation fibaro.homeCenter.systemService.suspend fibaro.homeCenter.systemService.suspend() Put the gateway in Sleep Mode. mais un sleep et un shutdown, c’est pas pareil (sans jeux de mots ) ?
jjacques68 Posté(e) le 3 avril 2020 Auteur Signaler Posté(e) le 3 avril 2020 Bon ben je confirme, Y a pas de commande shutdown, y a que le suspend... bref, c'est pas grave, j'ai ce que je voulais à savoir : en cas de panne de courant, au bout de 10 minutes, l'onduleur envoi une info à un PC qui lui execute un script pour mettre la HC3 en "suspend". Le bon vieux "hic", c'est que pour remettre la HC3 en route, faut être présent pour dérancher/rebrancher ! J'avais une prise plug commandée par wifi pour la HC2, MAIS : le plug + le transfo de la HC3 + le bandeau d'alim de la baie = JE PEUX PLUS FERMER LA PORTE !!!
Krikroff Posté(e) le 4 avril 2020 Signaler Posté(e) le 4 avril 2020 En croisant avec l' API et connaissant les habitudes de Fibaro ceci devrait parfaitement "émuler" le redémarrage et la mise en veille, (petite question au passage: d’ailleurs elle sort comment du mode veille ? WoL ?) -- reboot the gateway reboot = function() local http = net.HTTPClient() http:request("http://localhost/api/service/reboot",{ options={ headers = {["X-Fibaro-Version"] = "2"}, method="POST" } }) end -- put the gateway in sleep mode suspend = function() local http = net.HTTPClient() http:request("http://localhost/api/service/suspend",{ options={ headers = {["X-Fibaro-Version"] = "2"}, method="POST" } }) end Alors si nous extrapolons A essayer, sans aucune garantie de rien du tout... A tes risques et périls! -- shutdown the gateway shutdown = function() local http = net.HTTPClient() http:request("http://localhost/api/service/shutdown",{ options={ headers = {["X-Fibaro-Version"] = "2"}, method="POST" } }) end
jjacques68 Posté(e) le 4 avril 2020 Auteur Signaler Posté(e) le 4 avril 2020 oh j'ai essayé le shutdown, j'ai eu une erreur qui me dit qu'il ne connaissait pas la commande...
jjacques68 Posté(e) le 4 avril 2020 Auteur Signaler Posté(e) le 4 avril 2020 après j'appelle directement les fonctions comme ceci : (dans une scène - triggée par le changement de valeur d'un QA) fibaro.homeCenter.systemService.reboot()
Krikroff Posté(e) le 4 avril 2020 Signaler Posté(e) le 4 avril 2020 fibaro.HomeCenter = { SystemService = { -- reboot the gateway reboot = function() local http = net.HTTPClient() http:request("http://localhost/api/service/reboot",{ options={ headers = {["X-Fibaro-Version"] = "2"}, method="POST" } }) end, -- put the gatewau in slee mode suspend = function() local http = net.HTTPClient() http:request("http://localhost/api/service/suspend",{ options={ headers = {["X-Fibaro-Version"] = "2"}, method="POST" } }) end, -- shutdown the gateway shutdown = function() local http = net.HTTPClient() http:request("http://localhost/api/service/shutdown",{ options={ headers = {["X-Fibaro-Version"] = "2"}, method="POST" } }) end } } Dans un Quick App fibaro.HomeCenter.SystemService.reboot() fibaro.HomeCenter.SystemService.suspend() fibaro.HomeCenter.SystemService.shutdown() 1
Krikroff Posté(e) le 4 avril 2020 Signaler Posté(e) le 4 avril 2020 Si cela marche cela confirme bien qu'il y a une reprise de pas mal de choses du HC2...
jjacques68 Posté(e) le 4 avril 2020 Auteur Signaler Posté(e) le 4 avril 2020 va pas y avoir un conflit ?
Krikroff Posté(e) le 4 avril 2020 Signaler Posté(e) le 4 avril 2020 Non pourquoi ? de mémoire l'espace de nom fibaro.HomeCenter.SystemService n'existe pas dans les QuickApp, et tu peux ajouter des choses dans "fibaro" si tu le souhaites
jjacques68 Posté(e) le 4 avril 2020 Auteur Signaler Posté(e) le 4 avril 2020 ah ok je savais pas ! intéressant, faudra que j'essaye...
Lazer Posté(e) le 13 mai 2020 Signaler Posté(e) le 13 mai 2020 Je confirme que ça fonctionne dans un Quick App avec ton code, je viens de faire le shutdown propre de mon HC3 Bravo et merci @Krikroff 2
Krikroff Posté(e) le 13 mai 2020 Signaler Posté(e) le 13 mai 2020 Ah cool ça Envoyé de mon iPhone en utilisant Tapatalk
jjacques68 Posté(e) le 14 mai 2020 Auteur Signaler Posté(e) le 14 mai 2020 Ah j'avais oublié ça ! Bien vu !Envoyé de mon iPhone en utilisant Tapatalk Pro
mprinfo Posté(e) le 14 mai 2020 Signaler Posté(e) le 14 mai 2020 @krikroff top@lazer plus qu'à poster ton QAEnvoyé de mon BLA-L29 en utilisant Tapatalk
Lazer Posté(e) le 14 mai 2020 Signaler Posté(e) le 14 mai 2020 Bah y'a rien de compliqué, c'est juste le code de @Krikroff avec 2 boutons : fibaro.HomeCenter = { SystemService = { -- reboot the gateway reboot = function() local http = net.HTTPClient() http:request("http://localhost/api/service/reboot",{ options={ headers = {["X-Fibaro-Version"] = "2"}, method="POST" } }) end, -- put the gatewau in slee mode suspend = function() local http = net.HTTPClient() http:request("http://localhost/api/service/suspend",{ options={ headers = {["X-Fibaro-Version"] = "2"}, method="POST" } }) end, -- shutdown the gateway shutdown = function() local http = net.HTTPClient() http:request("http://localhost/api/service/shutdown",{ options={ headers = {["X-Fibaro-Version"] = "2"}, method="POST" } }) end } } function QuickApp:btnShutdown(param) fibaro.HomeCenter.SystemService.shutdown() end function QuickApp:btnReboot(param) fibaro.HomeCenter.SystemService.reboot() end function QuickApp:onInit() end
mprinfo Posté(e) le 14 mai 2020 Signaler Posté(e) le 14 mai 2020 @lazer oui je sais très bien. Mais une personne qui débute ne le sais pas forcément et@nico il veut du tout cuit Je trouve personnellement que c'est mieux que la bibliothèque de QA s'étoffe car pas toujours simple de retrouver des bouts de codePar contre je ne mets pas le code comme cela on est obligé de s'inscrire est on peut suivre le nombre de téléchargements Envoyé de mon BLA-L29 en utilisant Tapatalk
Lazer Posté(e) le 14 mai 2020 Signaler Posté(e) le 14 mai 2020 Les petits codes LUA comme celui-là, j'ai toujours préféré les laisser "en ligne" sur le forum, car cela permet à Google de les indexer, et c'est justement très pratique pour débuter, car on fait une recherche de fonction sur Google, et hop on tombe sur la page avec le bel exemple d'utilisation du code. Tu vas me dire qu'il y a le topic dédié aux Snipets LUA pour ça, sauf que 99% du code LUA se trouve disséminé sur tout le forum, ça a toujours été comme ça, et c'est très bien ainsi tant que c'est indexé. Sur un forum, on échange, on teste des bouts de code, et on les fait évoluer. C'est encore plus vrai pour l'API de reboot qui a changé au moins 3 fois depuis la HC2. En plus ce bout de code n'a aucun intérêt dans un QA qui ne fait que ça, le but c'est de l'intégrer dans un vrai QA qui fait des choses utiles. J'ajoute que ce n'est pas mon code, je ne vais pas m'en attribuer le mérite en partageant un QA complet. Bref, c'est très bien comme ça. Évidemment les vrais QA je les partagerai en pièce jointe, dans un topic dédié, avec le tuto complet, comme j'ai toujours fait pour les VD et les Scènes. Mais c'est prématuré, je n'ai rien de prêt, et puis de toute façon ce n'est pas une course Et puis Nico fait surtout du mode bloc et il n'aura que faire de rebooter sa future HC3, car la sienne sera sans bug. 1
mprinfo Posté(e) le 14 mai 2020 Signaler Posté(e) le 14 mai 2020 @lazer je me permet de te faire une petite remarque sur ton code (Mode @jojo) Je me suis fais avoir surtout dans les scènes et je me suis aussi fais incendié par @jjacque68 et il avait raison mais dur de changer les habitudes Dans ton QA je pense que le debug doit être remplacer par trace. tu peux aussi donner une nom ça c'est moins grave Par contre dans tes scènes met bien le tag, "text" sinon tu risques de t'arracher les cheveux en te disant pourquoi je vois pas mon debug lorsque tu filtres la scène donc moi en début de scène je mets local tag = "NondemaScene" puis je fais (tag, "message") en plus si un jour tu veux changé le tag c'est bien plus simple autrement si tu veux pas te prendre la tête utilise print voici une explication de JC
Lazer Posté(e) le 14 mai 2020 Signaler Posté(e) le 14 mai 2020 Merci je sais déjà.... Encore une fois ce n'est pas mon QA, c'est juste un exemple d'utilisation des fonctions reboot et shutdown partagées par Krikroff. 1
Nico Posté(e) le 14 mai 2020 Signaler Posté(e) le 14 mai 2020 Je confirme, tout ce que je peux, mode bloc, j'ai viré autant que possible le LUA. Tout simplement pour penser maintenance si qqun d'autre doit y accéder un jour, et clairement, au final c'est très simple, fonctionnel et propre, avec pleins de petites scènes simple mais compréhensible par tous. J'ai même supprimé 95% des lignes de GEA, et le reste de devrait pouvoir aussi avec le mode bloc de la HC3 bien plus puissant à ce que j'ai vu. Après les QA c'est autre chose.
mprinfo Posté(e) le 24 mai 2020 Signaler Posté(e) le 24 mai 2020 Je viens de tester le Shutdown fonctionne par contre le Reboot ne fonctionne pas function QuickApp:onInit() self:debug("onInit") end fibaro.HomeCenter = { SystemService = { -- reboot the gateway reboot = function() local http = net.HTTPClient() http:request("http://localhost/api/service/reboot",{ options={ headers = {["X-Fibaro-Version"] = "2"}, method="POST" } }) end, -- put the gatewau in slee mode suspend = function() local http = net.HTTPClient() http:request("http://localhost/api/service/suspend",{ options={ headers = {["X-Fibaro-Version"] = "2"}, method="POST" } }) end, -- shutdown the gateway shutdown = function() local http = net.HTTPClient() http:request("http://localhost/api/service/shutdown",{ options={ headers = {["X-Fibaro-Version"] = "2"}, method="POST" } }) end } } function QuickApp:btnShutdown(param) print("Shutdown") fibaro.HomeCenter.SystemService.shutdown() end function QuickApp:btnReboot(param) print("Reboot") fibaro.HomeCenter.SystemService.reboot() end
Julien92130 Posté(e) le 15 juillet 2020 Signaler Posté(e) le 15 juillet 2020 Bonjour à toutes et tous, Un petit up sur ce sujet pour vous demander vos habitudes / conseils vis-à-vis des reboots de nos box. « A l’époque » où j’avais une HCL, je faisait un reboot chaque semaine (faut dire qu’elle n’était pas d’un grand modèle de stabilité celle-ci ). Mais avec la HC3 je n’ai pas gardé cette habitude... Je me demande tout de même si ce n’est pas conseillé d’automatiser un petit reboot tous les mois ? Qu’en pensez-vous ?
Lazer Posté(e) le 15 juillet 2020 Signaler Posté(e) le 15 juillet 2020 Je ne fais jamais de reboot, mais j'ai un script qui fait un backup automatique chaque semaine, et même si ce n'est pas un reboot au niveau de l'OS de la machine, ça redémarre quand même tous les services Fibaro (serveur web, moteur Z-Wave, Quickapps, Scènes, etc...). Du coup l'effet est le même. Ce n'est pas tant le redémarrage qui m'intéresse, mais la sauvegarde régulière... mais au final ça fait d'une pierre 2 coups 1
Lazer Posté(e) le 18 octobre 2020 Signaler Posté(e) le 18 octobre 2020 (modifié) Dites donc, ça fonctionne encore chez vous les shutdown reboot et suspend ? Là je suis en version 5.050.13 et aucune ne fonctionne, même en faisant la requête http sur localhost, ou en passant par api.post() En passant par api.post() j'obtiens le code 501 qui équivant à "Not implemented". En passant par http:request() j'obtiens le message d'erreur "End of file" Il faut impérativement ajouter l'authentification de type Basic dans les Headers pour que ça fonctionne, ce qui est bien pénible, car je n'ai pas du tout envie de stocker mes identifiants en clair dans mes scripts LUA. Modifié le 18 octobre 2020 par Lazer
Messages recommandés