. */ require_once dirname(__FILE__) . "/../../../../core/php/core.inc.php"; if (!jeedom::apiAccess(init('apikey'))) { connection::failed(); echo 'Clef API non valide, vous n\'êtes pas autorisé à effectuer cette action (jeemyhomescs)'; die(); } if (isset($_GET['test'])) { echo 'OK'; die(); } if (isset($_GET['trame'])) { log::add ('myhomescs','info','Reçu sur Jeedom : '.$_GET['trame']); $trame = str_replace('Y', '*', $_GET['trame']); $trame = str_replace('Z', '#', $trame); log::add ('myhomescs','info','Reçu sur Jeedom : '.$trame); $tramedecrypt=myhomescs::decrypt_trame($trame); log::add('myhomescs', 'debug', 'Jeemyhomescs_Equipement : ' . print_r($tramedecrypt, true)); foreach ($tramedecrypt as $key => $value) { if (is_null($value)) { $tramedecrypt[$key] = "NULL"; } else { $tramedecrypt[$key] = $value; } } if ($tramedecrypt["format"]=="ACK" || $tramedecrypt["format"]=="NACK" || $tramedecrypt["format"]=="BUS_EVENT"){ log::add ('myhomescs', 'debug', "Jeemyhomescs_Trame non interprétée"); } if ($tramedecrypt["format"]!="ACK" && $tramedecrypt["format"]!="NACK" && $tramedecrypt["format"]!="BUS_EVENT"){ $myhomescs = myhomescs::byLogicalId($tramedecrypt["A"].$tramedecrypt["PL"], 'myhomescs'); $myhomescsaux = myhomescs::byLogicalId('AUX'.$tramedecrypt["PL"], 'myhomescs'); if (!is_object($myhomescs) && !is_object($myhomescsaux)) { log::add('myhomescs', 'debug', 'Jeemyhomescs_Aucun équipement trouvé pour : ' . $tramedecrypt["A"].$tramedecrypt["PL"]. " Création de l'equipement\n"); $myhomescs = myhomescs::createFromDef($tramedecrypt); if (!is_object($myhomescs)) { log::add('myhomescs', 'debug', 'Jeemyhomescs_Aucun équipement trouvé pour : ' . $tramedecrypt["A"].$tramedecrypt["PL"]." Erreur lors de la création de l'équipement\n" ); die(); } } elseif ((is_object($myhomescs) || is_object($myhomescsaux)) && $tramedecrypt['format']=="BUS_COMMAND"){ log::add('myhomescs', 'debug', "Jeemyhomescs_BUS_COMMAND \n"); myhomescs::updateStatus($tramedecrypt); log::add('myhomescs', 'event', "Jeemyhomescs_update status"); } else if (is_object($myhomescs) && $tramedecrypt['format']=="STATUS_REQUEST"){ log::add('myhomescs', 'debug', "Jeemyhomescs_STATUS_REQUEST, Aucun action effectuée \n"); //myhomescs::updateRequestStatus($tramedecrypt); }else if (is_object($myhomescs) && $tramedecrypt['format']=="DIMENSION_SET"){ log::add('myhomescs', 'debug', "Jeemyhomescs_DIMENSION_SET, mise a jour des statuts \n"); myhomescs::updateStatus($tramedecrypt); }else if (is_object($myhomescs) && ($tramedecrypt['format']=="DIMENSION_REQUEST" || $tramedecrypt['format']=='DIMENSION_REQUEST_RESPONSE') && isset($tramedecrypt['param'])){ log::add('myhomescs', 'debug', "Jeemyhomescs_DIMENSION_REQUEST avec Parametres, mise a jour des statuts \n"); myhomescs::updateStatus($tramedecrypt); //myhomescs::dimensionRequestStatus($tramedecrypt); } } }