Aller au contenu
jjacques68

Éteindre HC2 par script ne marche plus ?

Recommended Posts

Bonjour tout le monde !

 

La fonction 

 

local response, status, errorCode = HC2:GET("/shutdown.php")

 

ne fonctionne plus ?

 

Je l'ai testé il y a encore quelques semaine (4 ou 5), avant les dernières mises à jour, et c'était ok !!!

 

Qqun a une idée ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut @jjacques68 !

 

Je me suis interrogé également sur cela il y a quelques semaines.

Tu peux éventuellement suivre le fil de la discussion ici.

 

Désormais, voici l'adresse à joindre pour effectuer un reboot de la HC2 :

http://user:pass@HCIP/services/system/reboot.php

 

Bonne journée et à bientôt !

 

Jérémy

Modifié par J3R3M

Partager ce message


Lien à poster
Partager sur d’autres sites

je viens d'essayer

 

    local response, status, errorCode = HC2:GET("/services/system/shutdown.php")

mais sans resultats... :( 

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 11 minutes, jjacques68 a dit :

je viens d'essayer

 


    local response, status, errorCode = HC2:GET("/services/system/shutdown.php")

mais sans resultats... :( 

 

Le script shutdown.php n'existe plus, c'est reboot.php maintenant.

De plus, il faut impérativement être connecté en administrateur pour pouvoir l'exécuter :)

Partager ce message


Lien à poster
Partager sur d’autres sites

alors tu coupes la prise

Partager ce message


Lien à poster
Partager sur d’autres sites

nan mais attend !

 

J'avais un super script couplé avec l'onduleur pour éteindre proprement la HC2 si coupure de courant, et là on peut plus le faire ?

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai trouvé ça mais aucune réaction

 

 HomeCenter.SystemService.shutdown()

Partager ce message


Lien à poster
Partager sur d’autres sites

Dans une scène, j'ai essayé ça : au moins pour tester le reboot !

local http = net.HTTPClient()

http:request("http://Mon_Adresse%40Mon_FAI%3AMon_Mdp@192.168.xx.yy/services/system/reboot.php", {
	options = {method = 'GET'}, 
	success = function(response) print("OK") end,
	error = function(response) print("Error :  " ..response) end
})

Marche pas... ai essayé avec la méthode POST ou PUT mais rien non plus.

Il me répond "OK"...

Modifié par jjacques68

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 7 heures, jjacques68 a dit :

HomeCenter.SystemService.shutdown()

Ca fonctionne en 4.180 je crois. API a encore changé ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

:( faut que je trouve une solution, parce qu’il faut que je puisse l’etiendre depuis une scène où un VD...

Partager ce message


Lien à poster
Partager sur d’autres sites

YES merci @Titof_44 !!

 

Cet exemple m'a permis d'y arriver.

 

pour le reboot ET pour  le shutdown...

 

Voici le code pour ceux que ça intéresse...

local HC2 = Net.FHttp("127.0.0.1", 80)
local User = "adresse_mail_complète_ENCODEE" -- @ = %40
local Pass = "mot_de_passe_ENCODE" 

HC2:setBasicAuthentication(User, Pass)

--pour le reboot
local response,status,errorCode = HC2:GET('/services/system/reboot.php')
--pour le shutdown
local response,status,errorCode = HC2:GET('/services/system/shutdown.php')

 

En espérant qu'ils ne changent pas à chaque mise à jour leur API...

  • Like 3

Partager ce message


Lien à poster
Partager sur d’autres sites

À noter que ce code ne fonctionnera que dans un VD.

 

Une question me vient à l'esprit... Existe-t'il une commande permettant de démarrer la HC2?

C'est-à-dire que si une commande d'extinction a été envoyée et qu'aucune coupure de courant n'a lieu, la HC2 ne redémarrera pas automatiquement.
D'où ma question, en espérant être suffisamment clair! :)

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Une sorte de WakeOn Lan pour la HC2 !!

 

Mais cela veut dire qu'il faut un autre support de communication, un truc qui envoie un paquet magic à la HC2 !! :) 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

Comment encodez-vous l'adresse mail et le mot de passe ?

 

Merci.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

Et pour moi le paquet magique n'est pas prévu ;-)

 

@Kana-chan, je n'ai pas testé, mais j'aurais naturellement encodé en base64

Partager ce message


Lien à poster
Partager sur d’autres sites

ah ben non pas du tout, avec le lien donné à l'instant, j'ai tout faux. ;-)

 

Bizarrement si on me dit encoder, je pense base64 mais en fait la point du tout c'est de l'url encodage ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

Vous pouvez aussi "base64-encoder", mais à ce moment là, il ne faut plus passer le login/password dans l'URL, mais dans les options de la fonction http:request().

Je crois qu'il y a des exemples sur le forum.

Partager ce message


Lien à poster
Partager sur d’autres sites

@Lazer je n’avais posté cette exemple mais j’avais essayé.

 

encodé en base 64 et passé dans les options de la requête, mais sans résultats...

 

Partager ce message


Lien à poster
Partager sur d’autres sites

En fait je parlais de l'encodage du password en général dans une requête, pas de cette requête en particulier pour rebooter la box.

Partager ce message


Lien à poster
Partager sur d’autres sites

×