Aller au contenu
flamalex

fibaro hc3 reboot livebox & HC3 via nas synology

Recommended Posts

Bonjour,

ma modeste contribution, qui m'a pris bcp de tps, a decortiquer et essayer de comprendre l'articulation des choses

merci au forum, et à google 

partage d'une experience, je n'ai rien inventé, juste adapté à mes besoins

 

n'arrivant pas, au debut, a reboot la livebox via la HC3 puis ensuite ne pouvant reboot la livebox si HC3 plantée

j'ai cherché l'equipement du reseau qui ne plantait jamais, le NAS SYNOLOGY

j'ai donc installé un script, ci dessous sur le NAS SYNO avec un module SHELLY wifi (le wifi est sur un routeur wifi asus qui ne plante jamais)

le planificateur du syno lance le script pour controler la connexion de la LB, si celle ci n'est pas OK alors il reboot niveau materiel la livebox 

 

 

#!/bin/bash
site1=${1:-192.168.0.1}
site2=${1:-orange.fr}
site3=${1:-google.com}
ping -c 1 $site1; ping1=$?
ping -c 1 $site2; ping2=$?
ping -c 1 $site3; ping3=$?
if [ $ping1 -eq 0 ] && [ $ping2 -eq 0 ] && [ $ping3 -eq 0 ]
then
echo "Connexion OK"
else
echo "No connexion"
curl http://192.168.1.50/relay/0?turn=off sleep 5
curl http://192.168.1.50/relay/0?turn=on
fi

puis ensuite, j'ai fait la meme chose avec la HC3 avec un 2eme shelly, si niveau software ça veut pas alors on reboot le hardware avec script ci dessous

 

#!/bin/bash
HC3_ADDRESS="192.168.x.xx"
HC3_AUTHENTICATION="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
	# Check Fibaro services restart
	OUTPUT=$( curl --write-out "HTTPSTATUS:%{http_code}" --silent --header "Authorization: Basic ${HC3_AUTHENTICATION}" "http://${HC3_ADDRESS}/api/service/servicesStatus" )
	echo "${OUTPUT}"
	if [ $? -ne 0 ]
	then
		Error "Erreur : impossible de se connecter au Home Center pour vérifier son statut"
		Quit 14
	fi
	JSON=$(echo "${OUTPUT}" | sed -e 's/HTTPSTATUS\:.*//g')
	CODE=$(echo "${OUTPUT}" | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
	echo "${CODE}"
	if [ "${CODE}" == "200" ]
	then
	echo "la HC3 est bien connectée"

	else
	echo "la HC3 n'est pas connectée"
	
	OUTPUT2=$( curl --write-out "HTTPSTATUS:%{http_code}" --silent --request POST --header "Authorization: Basic ${HC3_AUTHENTICATION}" "http://${HC3_ADDRESS}/api/service/reboot" --data '{}')
			if [ $? -ne 0 ]
			then
				echo "Erreur : impossible de se connecter au Home Center pour forcer le reboot"
							fi
			JSON=$(echo "${OUTPUT2}" | sed -e 's/HTTPSTATUS\:.*//g')
			CODE=$(echo "${OUTPUT2}" | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
			if [ "${CODE}" == "200" ]
			then
				echo -e "Box Fibaro rebootée de force\n"
							else
				echo "Erreur : impossible de forcer le reboot de la box Fibaro : code de retour HTTP ${CODE}" "${JSON}"
				echo "# ici on actionne un relais qui coupe le courant"
curl http://192.168.1.51/relay/0?turn=off sleep 5
curl http://192.168.1.51/relay/0?turn=on
							fi
			fi	

 

Modifié par flamalex
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

×