Bonsoir,
je me permets de partager avec vous un petit scénario que je viens de faire pour me prévenir si un nouvel équipement a été rajouté à Jeedom.
- Création du scénario
Créer un nouveau scénario sans déclencheur, par exemple :
Puis ajouter un bloc code avec le contenu suivant:
$tags = $scenario->getTags(); // Récupération des tags
if(isset($tags['eqLogic_id'])){
$eqLogic = eqLogic::byId($tags['eqLogic_id']);
if(is_object($eqLogic)){
$plugin = $eqLogic->getEqType_name();
$equipement = $eqLogic->getHumanName();
switch ($plugin) {
case 'livebox': // Plugin Livebox
$sc->pause(10); // Attention j'utilise l'ajout SC de dJul (http://rulistaff.free.fr/sc/doc/)
$ip = cmd::byString("#".$equipement."[Adresse IP]#")->execCmd();
$msg = 'Nouvel équipement détecté : '.$equipement."\n Type : ".$eqLogic->getConfiguration('deviceType')."\n MAC : ".$eqLogic->getConfiguration('macAddress')."\n IP : ".$ip;
break;
case 'MQTTDiscovery': // Plugin MQTTDiscovery
$msg = 'Nouvel équipement détecté : '.$equipement."\n Manufacturer : ".$eqLogic->getConfiguration('manufacturer');
break;
default: // Plugin non géré précédemmmnt
$msg = 'Nouvel équipement détecté : '.$equipement;
break;
}
$scenario->setLog($msg); // Log le message
message::add($eqLogic->getEqType_name(),$msg); // Envoi le message dans le centre de notification
}
}
Pour mon utilisation j’ai des cas spécifique pour le plugin Livebox et MQTTDiscovery. Mais vous pouvez l’adapter à votre environnement.
Dans ce scénario j’envoi un message dans le centre de notification, mais vous pouvez utiliser votre méthode de notification préféré, suffira d’adapter.
- Configuration de l’exécution
Pour cela il faut aller dans Réglage\Système\Configuration puis dans l’onglet Equipement il faudra renseigner le scénario que l’on vient de créer.
Et voila, normalement vous devriez recevoir une notification lors de l’apparition d’un nouvel équipement sur Jeedom.
Exemple de notification dans le centre de notification:
Ou par exemple sur Discord:
Bonne soirée,
Mathieu