Version alternative du scénario (gère un seul détecteur vers une camera)
Si vous voulez un scénario plus simple :
Maintenant il faut que votre détecteur de mouvement configuré dans Jeedom, alerte Homebridge qu’un mouvement a était détecté.
Pour cela, nous allons utilisé un scénario qui sera appelé lors d’un changement de valeur de votre détecteur de mouvement
- Créé un nouveau Scenario au nom de votre choix.
- Mettre le mode de scénario en Provoqué
- Aller dans le scénario et créé un bloc code avec le bouton « Ajouter bloc » en haut à droite
- Remplir le bloc code avec le contenu ci-dessous
// Author : Marc GUYARD (mguyard)
// Version : 1.0
// Date : 20201108
// Fonction : Lancer des notifications sur detection de mouvement vers les camera Homebridge
// Indiquez le port que vous avez configuré dans la plateforme Homebridge
$motionPort="36333";
$cameraName="Caméra Portail";
$motion=true;
$doorbell=true;
/* -------------------------------------------------------------------------- */
/* NE PAS TOUCHER APRES CETTE LIGNE SANS SAVOIR EXACTEMENT CE QUE VOUS FAITES */
/* -------------------------------------------------------------------------- */
// Lancement de la notification version HomeBridge
if ($motion) {
$callMotionURL = "http://localhost:".$motionPort."/motion?".rawurlencode($cameraName);
call($scenario, $callMotionURL);
}
if ($doorbell) {
$callDoorbellURL = "http://localhost:".$motionPort."/doorbell?".rawurlencode($cameraName);
call($scenario, $callDoorbellURL);
}
// Fonction d'appel Homebridge
function call($scenario, $callURL) {
$scenario->setLog("URL called : ".$callURL);
$motionCall = curl_init();
curl_setopt($motionCall, CURLOPT_URL, $callURL);
curl_setopt($motionCall, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($motionCall, CURLOPT_TIMEOUT, 15);
curl_setopt($motionCall, CURLOPT_CONNECTTIMEOUT, 15);
$motionCallReturn = curl_exec($motionCall);
$motionCallHTTPCode = curl_getinfo($motionCall, CURLINFO_HTTP_CODE);
curl_close($motionCall);
// Retourne le résultat dans le log du scénario
if($motionCallHTTPCode == 200) {
$scenario->setLog("Homebridge a validé la demande : '".$motionCallReturn."'");
} else {
$scenario->setLog("/!\ ERROR : Homebridge a répondu '".$motionCallReturn."' avec code de retour HTTP ".$motionCallHTTPCode);
}
}
Modifiez les éléments suivants :
- La variable $motionPort (ligne 7) : Indiquer le port que vous avez configuré dans l’étape 1.3
- La variable $cameraName avec le nom de la caméra dans Homebridge
Attention, il faudra faire un scénario par Camera
- La variable $motion (true si active / false pour désactiver)
- La variable $doorbell (true si active / false pour désactiver)
Il faut ensuite lié le lancement du scénario a la commande de votre détecteur de mouvement.
Pour cela, aller dans la configuration de votre commande de détecteur de mouvement, allez dans l’onglet configuration, puis configuré la partie Action sur la valeur
Ainsi, quand la commande de votre détecteur de mouvement va correspondre à la valeur souhaitée (souvent 0 ou 1 mais là c’est dépendant des modules donc à vous de tester), il lancera le scénario qui alertera la caméra spécifié dans le scénario.
