elacombe 16 Signaler ce message Posté(e) 7 septembre 2016 Super. Merci. Je teste... Partager ce message Lien à poster Partager sur d’autres sites
fredokl 432 Signaler ce message Posté(e) 17 avril 2017 Salut, je déterre un peu le poste. Le VD fonctionne parfaitement à un détail près, le Reboot ne marche pas. Je suis en 4.120. J'ai essayé toutes les solutions données sur ce fil mais rien n'y fait. Quelqu'un aurait une idée? Partager ce message Lien à poster Partager sur d’autres sites
Lazer 8 486 Signaler ce message Posté(e) 18 avril 2017 Oui c'est normal, depuis le firmware 4.110 le code LUA a changé, et il n'est plus possible de redémarrer la HC2 depuis un VD, il faut utiliser une scène avec la nouvelle API LUA : https://www.domotique-fibaro.fr/topic/9811-lua-arreter-ou-redémarrer-sa-hc2/ Donc le bouton reboot de ton VD doit être vidé, et remplacé par une simple commande permettant de lancer ta scène : fibaro:startScene(sceneID) Tu remplaces sceneID par l'ID de ta nouvelle scène. 1 Partager ce message Lien à poster Partager sur d’autres sites
sebcbien 1 508 Signaler ce message Posté(e) 18 avril 2017 Tu te trompe mon cher @Lazer voici le code avec reboot qui fonctionne dans un VD. et avec la fonction double click (pour cela, créer un label et l'appeler: lblMessage ) Bouton Reboot: -- Double click by sebcbien -- local msg = "Ré-appuyer pour confirmer" -- Confirm message local action_msg = "REBOOTING !!!" -- message when double click activated local labelId = "lblMessage" -- ID of the label hosting the messages local secondes = 2 -- maximum time between two clicks for the action to be validated -- do not modify below and place your action in line 25 local current = fibaro:getValue(fibaro:getSelfId(), "ui."..labelId..".value") local action if (current == "") or (current == "SHUTTING DOWN !!!") or (current == "REBOOTING !!!") then fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..labelId..".value", msg.." ("..string.sub(os.time(),-4)..")") fibaro:debug("First Click") action = false elseif tonumber(string.sub(os.time(),-4)) - tonumber(string.sub(current,-5,-2)) <= secondes then fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..labelId..".value", action_msg) fibaro:debug("Double click Validated !") fibaro:sleep(2*1000) fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..labelId..".value", "") action = true elseif tonumber(string.sub(os.time(),-4)) - tonumber(string.sub(current,-5,-2)) > secondes then fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..labelId..".value", "") fibaro:debug("Cleaning") action = false end if action then fibaro:sleep(5*1000) -- Reboot system local HC2 = Net.FHttp("127.0.0.1", 80) local response, status, errorCode = HC2:GET("/reboot.php") fibaro:log(status.. "Reboot en cours") fibaro:debug(status.. "Reboot en cours") end Bouton shutdown: -- Double click by sebcbien -- local msg = "Ré-appuyer pour confirmer" -- Confirm message local action_msg = "SHUTTING DOWN !!!" -- message when double click activated local labelId = "lblMessage" -- ID of the label hosting the messages local secondes = 2 -- maximum time between two clicks for the action to be validated -- do not modify below and place your action in line 25 local current = fibaro:getValue(fibaro:getSelfId(), "ui."..labelId..".value") local action if (current == "") or (current == "SHUTTING DOWN !!!") or (current == "REBOOTING !!!") then fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..labelId..".value", msg.." ("..string.sub(os.time(),-4)..")") fibaro:debug("First Click") action = false elseif tonumber(string.sub(os.time(),-4)) - tonumber(string.sub(current,-5,-2)) <= secondes then fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..labelId..".value", action_msg) fibaro:debug("Double click Validated !") fibaro:sleep(2*1000) fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..labelId..".value", "") action = true elseif tonumber(string.sub(os.time(),-4)) - tonumber(string.sub(current,-5,-2)) > secondes then fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..labelId..".value", "") fibaro:debug("Cleaning") action = false end if action then -- PLACE YOUR CODE HERE -- fibaro:sleep(5*1000) -- Shutdown system local HC2 = Net.FHttp("127.0.0.1", 80) local response, status, errorCode = HC2:GET("/shutdown.php") fibaro:log(status.. "Shutdown en cours") fibaro:debug(status.. "Shutdown en cours") end 3 Partager ce message Lien à poster Partager sur d’autres sites
fredokl 432 Signaler ce message Posté(e) 18 avril 2017 Merci @Lazer et @sebcbien pour vos réponses. J'ai testé uniquement celle de @sebcbien qui m'évite de créer encore une scène. Elle fonctionne parfaitement en 4.120 aussi bien en shutdown qu'en reboot. 1 Partager ce message Lien à poster Partager sur d’autres sites
Lazer 8 486 Signaler ce message Posté(e) 18 avril 2017 ah bon très bien alors, merci de la précision @sebcbien 1 Partager ce message Lien à poster Partager sur d’autres sites
fredokl 432 Signaler ce message Posté(e) 18 avril 2017 Allez, pour vous remercier voici des icônes pour le reboot, le refresh et le shutdown. 3 Partager ce message Lien à poster Partager sur d’autres sites
nigao 33 Signaler ce message Posté(e) 1 mai 2017 Merci pour ce virtual device au top ^^ Une petite question, y a t'il une syntaxe pour ramener l'occupation disque en octet plutôt qu'en pourcentage ? Partager ce message Lien à poster Partager sur d’autres sites
nigamais 2 Signaler ce message Posté(e) 17 mai 2017 Bonjour,faut il modifier quelque chose dans ce VD ,IP etc Merci Partager ce message Lien à poster Partager sur d’autres sites
Rem's 59 Signaler ce message Posté(e) 17 mai 2017 Merci pour ce bout de code, je vais mettre à jour mon VD !! Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 602 Signaler ce message Posté(e) 13 août 2017 merci @sebcbien, j'ai pris les codes du reboot /shutdown 1 Partager ce message Lien à poster Partager sur d’autres sites
Sakkhho 469 Signaler ce message Posté(e) 11 août 2018 Hello L'api étant différente je pense ce VD n'est plus fonctionnel en 4.510 Partager ce message Lien à poster Partager sur d’autres sites
Kana-chan 66 Signaler ce message Posté(e) 12 août 2018 (modifié) Bonjour, Il suffit de rajouter ceci : local User = string.gsub("votre_adresse_de_courriel", "%@", "%%40"); local Pass = "votre_mot_de_passe_ENCODE"; HC2:setBasicAuthentication(User, Pass); juste après la ligne : local HC2 = Net.FHttp("127.0.0.1",11111); dans le code du bouton "Rafraîchir" ! Et de commenter les lignes suivantes : --Partition recovery local rused = tonumber(result.storage.internal[2].used); local rfree = 100 - rused; rused = rused .. "%"; rfree = rfree .. "%"; fibaro:call(thismodule,"setProperty","ui.vlRecovery0.value", "Utilisé : " .. rused); fibaro:call(thismodule,"setProperty","ui.vlRecovery1.value", "Disponible : " .. rfree); (mettre "--" devant chaque ligne ci-dessus). Voilà ... Modifié 14 août 2018 par Kana-chan Oubli d'enlever le string.gsub pour le pass. Partager ce message Lien à poster Partager sur d’autres sites
Sakkhho 469 Signaler ce message Posté(e) 12 août 2018 [ERROR] 18:21:45: line 30: bad argument #2 to 'gsub' (string expected, got no value) pourtant j'ai encodé mon mot de passe avec https://www.base64encode.org local Pass = string.gsub("Encodé";) Partager ce message Lien à poster Partager sur d’autres sites
Barelle 167 Signaler ce message Posté(e) 12 août 2018 La forme local Pass = string.gsub("Encodé"); serait syntaxiquement plus correcte... Partager ce message Lien à poster Partager sur d’autres sites
Sakkhho 469 Signaler ce message Posté(e) 12 août 2018 oui bien sur l'erreur ne vient pas de la. (faute de typo dans le post) Partager ce message Lien à poster Partager sur d’autres sites
Barelle 167 Signaler ce message Posté(e) 12 août 2018 La fonction string.gsub attend au moins deux paramètres. Là cela ne peut pas fonctionner... Je suggère : local Pass = "Encodé"; Partager ce message Lien à poster Partager sur d’autres sites
Sakkhho 469 Signaler ce message Posté(e) 12 août 2018 Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 13 août 2018 BOnsoir bonsoir, Au fait je n'ai pas suivi, ok pour la partition recovery, mais pour l'encodage du pass, pas suivi. Donc quel est le code alors ? Ca fonctionne sans chez moi sans, je comprends pas ;-) local vId = fibaro:getSelfId(); local HC2 = Net.FHttp("127.0.0.1",11111) local response, status, errorCode = HC2:GET("/api/diagnostics") if tonumber(status) == 200 then local result = json.decode(response); Partager ce message Lien à poster Partager sur d’autres sites
kioneoranga 80 Signaler ce message Posté(e) 14 août 2018 Il y a 16 heures, pepite a dit : BOnsoir bonsoir, Au fait je n'ai pas suivi, ok pour la partition recovery, mais pour l'encodage du pass, pas suivi. Donc quel est le code alors ? Ca fonctionne sans chez moi sans, je comprends pas ;-) local vId = fibaro:getSelfId(); local HC2 = Net.FHttp("127.0.0.1",11111) local response, status, errorCode = HC2:GET("/api/diagnostics") if tonumber(status) == 200 then local result = json.decode(response); Moi aussi cela fonctionne comme @pepite sans pb, local HC2 = Net.FHttp("127.0.0.1",11111) Je ne comprends pas pourquoi il faut jouter les lignes user et pass! Est il possible d'expliquer? Merci d'avance Partager ce message Lien à poster Partager sur d’autres sites
Kana-chan 66 Signaler ce message Posté(e) 14 août 2018 Bonjour, En effet, cela fonctionne aussi sans. Bizarre qu'il le faille dans certaines utilisations de l'API et pas d'autres alors !! Voilà ... 1 Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 14 août 2018 Bonsoir, bonsoir, oui c'est bizarre tout de même ce comportement différent ;-) Sinon, J'ai tout de même un comportement bizarre, plus de main loop. au fait, ceci permet de ne pas s'authentifier, enfin de s'authentifier sans user, pass ;-) spécifié. Net.FHttp("127.0.0.1",11111) Partager ce message Lien à poster Partager sur d’autres sites
Sakkhho 469 Signaler ce message Posté(e) 15 août 2018 oué vous avez raison, Partager ce message Lien à poster Partager sur d’autres sites
Kana-chan 66 Signaler ce message Posté(e) 15 août 2018 Il y a 10 heures, pepite a dit : Sinon, J'ai tout de même un comportement bizarre, plus de main loop. Bonjour, Bizarre, elle fonctionne bien chez moi : Voilà ... 1 Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 15 août 2018 Bonsoir, All is good pour moi aussi, mode boulet ON, j'avais oublié de modifier le numéro du bouton ;-) Partager ce message Lien à poster Partager sur d’autres sites