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 avec comme déclencheur #new_eqLogic#, par exemple :
Puis ajouter un bloc code avec le contenu suivant:
$tags = $scenario->getTags(); // Récupération des tags
if(isset($tags['id'])){
$eqLogic = eqLogic::byId($tags['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.
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
PS : Mise à jour 10/07/2024 suite à la création de #new_eqLogic# dans le core.