tags : Discord domotique Jeedom
1 ) Description
Le plugin Jeedom Discord Link permet d’envoyer des messages sur son serveur Discord :
- Messages Classiques
- Messages Evolués
- Messages TTS
- Gestion des Chanels ( Salons )
- Fonction ASK
- Fonction Envoie Fichiers
- Compatible avec les Interactions de Jeedom
- Fonction Etat des Démons de Jeedom
- Fonction Etat des Dépendances des plugins Jeedom
- Fonction Etat du résumé global
Pour cela il faut avoir son serveur Discord.
2 ) Installation et Configuration :
La documentation du plugin Jeedom Discord Link étant la plus complètes et détaillé possible ( et je dit pas ça parce que c’est moi qui l’ai faite 😉 ) je vous donne le lien direct cela est plus simple et moins redondant.
https://github.com/trmaud/Docs/blob/master/discordlink/fr_FR/index.md
3 ) exemples d’utilisation
3.1 ) Personnaliser son Discord et son Bot
Allez sur le lien suivant: https://discordapp.com/developers/applications/
Sélectionner votre Bot Discord crée pour l’occasion.
Ensuite cliquer sur « icône d’application » pour mettre un avatar
chercher une image sur votre pc et sélectionner là
Sur l’application Pc vous pouvez répéter l’opération.
Cliquer sur la lettre de votre serveur et choisissez une image sur votre pc
Et voilà vous avez personnaliser votre Bot et votre serveur
3.2 ) Exemples Avancés
3.2.1 ) Envoie Message fin de sauvegarde
dans l’article « Sauvegarder son Jeedom » https://youdom.net/2019/10/29/sauvegarde-jeedom/ vous pouvez apprendre a créer et gérer vos sauvegardes, avec jeedom discord link vous pouvez être averti du bon déroulement de l’externalisation de la sauvegarde.
Voilà le scenario:
- [0] La commande qui permet de lancer l’export de la sauvegarde ( Dropbox, Google Drive, ect…)
- [1] Le bloc CODE qui permet après l’exécution de checker le log pour détecter si il y a eu une erreur et de creer une variable « backup_error_code » à 1 si il y a une erreur. A prendre tel quel sans modifications.
// Search pattern in log, return backup_error_code [0|1] Code fourni par zaibakker de community
$scenario->setData("backup_error_code", 0);
$log = '/var/www/html/log/cloudsyncpro';
$date_format = date('Y-m-d');
$pattern = "#\[$date_format.*Errors \([1-9][0-9]*\).*#";
$content_log = (file_get_contents($log));
preg_match_all($pattern, $content_log, $out, PREG_PATTERN_ORDER); // A RegEx grep in PHP
$error_array = $out[0]; // $out[0] contains the content matched by the RegEx
foreach($error_array as &$log_entry) {
$scenario->setData("backup_error_code", 1);
$scenario->setData("backup_error_output", $log_entry);
$scenario->setLog("ALERT: Error found in log:" .$log_entry);
}
- [2] Commande pour nettoyer les sauvegardes
- [3] Un bloc SI pour tester le résultat de la variable « backup_error_code »
Si la variable « backup_error_code » = 0 c’est que la sauvegarde c’est bien passée Sinon elle a échouée.
Içi on utilise « Le centre de gestion des notifications » mais vous pouvez utiliser la commande direct « Message evolués » voilà ce que cela donne sur votre Discord
3.2.2 ) Envoie Recap des Temperatures
Pour cela nous faisons un scénario tout bêtes avec juste un Bloc Action et la commande de message simple par exemple.
:thermometer: – Exterieur : #[Tableau des Relevés][Temperatures_V][Temp_Exterieur]#°C
- :thermometer: = emoji Thermometre
- #[Tableau des Relevés][Temperatures_V][Temp_Exterieur]# = La commande concernant la temperature.
Ils vous suffit d’ajouter autant de ligne que vous avec besoins de températures
3.2.3 ) Envoie automatique Allumage/Extinction des lumières
Içi on créer un scénario qui vas envoyer automatiquement une notification a l’allumage d’une ampoule ou l’extinction. Il pourra fonctionner pour l’ensemble des ampoules ( lumieres ) de votre installation.
- [0] : Ce bloc Action contient 4 variables, Le but de ses variables est de vous découper le nom de l’équipement renvoyé par la fonction #trigger# vous devez la prendre tel quels ne rien modifié. Nous allons prendre en exemple ampoule 1 du salon qui déclenche le scénario.
- variable « nom » Valeur « #trigger# » Resultat : [Salon][Ampoule_1_Salon_V][Ampoule]
- variable « nom-cmd » Valeur « name(cmd,variable(nom)) » Resultat : Ampoule
- variable « nom-eqlogic » Valeur « name(eqLogic,variable(nom)) » Resultat : Ampoule_1_Salon_V
- variable « nom-object » Valeur « name(object,variable(nom)) » Resultat : Salon
- [1] : Ce bloc Si va tester la valeur de mon ampoule : Ici on vas utiliser la fonction #trigger_value#, vu que l’on ne connait pas quelle ampoule déclenche la fonction #trigger_value# renvoie 1 ou 0 donc l’état de l’équipement qui a déclenché le scénario
Si = 1 donc l’ampoule est allumé j’envoie donc une notification Ampoule Allumé
Si = 0 donc l’ampoule est éteinte j’envoie donc une notification Ampoule Eteinte
3.2.4 ) Envoie d’une Photo sur détection de mouvement
Ici on vas envoyé une photos de la camera de la cuisine chaque fois que quelqu’un passe devant le capteur de mouvement. Bien sur ce scénario n’est activer que quant la maison est en Etat Absence
3.2.5 ) Demande Validation pour Fermeture Volet Terrasse
Ici on vas déclencher un scénario au coucher du soleil pour fermer le volet de la terrasse.
On va tester si la fenêtre est ouverte ou si il y a du mouvement sur la terrasse cela vas entraîner une demande sur discord si il faut fermer le volet ( il est possible que l’on soit dehors ), Si la fenêtre est fermé et qu’il n’y a pas de mouvement dehors alors on Ferme le volet. Bien sur on laisse la possibilité a Jeedom de nous le redemander dans 1h
- [0] Le premier bloc Si vas tester la positions du volet. Si il est déjà fermé pas la peine d’allez plus loin.
- [1] Le deuxième bloc Si vas tester la position du volet si il est bien ouvert. Ensuite il test si la fenêtre de la terrasse est ouverte ou si il y a un mouvement sur la terrasse.
- Si Vraie alors : Jeedom me pose la question » de ce qu’il doit faire »
- Si Faux alors : JEedom ferme le volet
- [2] Le troisième bloc Si test si la réponse a la question été « Fermer »
- Si Vraie alors : Jeedom ferme le volet
- [3] Le quatrième bloc Si test si la réponse a la question été « Laisse Ouvert »
- Si Vraie alors : Jeedom ne fait rien et laisse Ouvert
- [4] Le cinquième bloc Si test si la réponse a la question été « Redemande moi dans 1h »
- Si Vraie alors : Jeedom Crée une tache dans 1h pour relancer le scénario
- [5] Le dernier bloc est une action pour mettre la réponse a une autre valeur pour éviter des problème au relancement du scénario
3.4.6 ) Envois des notifications de mon synology a l’aide de JEedom Discord Link
Ici on sort un peu de jeedom pour allez chez synology. Par soucis de centralisation, je voulais que mon NAS synology ( marche aussi avec les routeur Synology ) m’envoie ses notifications sur mon discord comme jeedom.
On vas sur « Panneau de configuration »
ensuite on vas sur l’onglet SMS puis on « ajoute un fournisseur de service SMS »
- Nom du Fournisseur : Discord ( vous pouvez mettre ce que vous voulez )
- URL SMS : Là c’est important, < http://192.168.1.65:3466/sendEmbed?color=#B004FB&title=NASCOKE&url=null&description=Hello+world&field=null&footer=Synology&channelID=693448148705869xxx&user=User&password=Password&to=12345678 > modifier juste les partie en gras
- Adresse ip : l’adresse ip de votre JEEDOM
- color : code hexa de la couleur souhaité ( https://htmlcolorcodes.com/fr/ )
- title : le nom de votre Nas par exemple
- footer : vous mettez ce que vous voulez moi j’ai mit Synology
- channelID : valeur ID logique de votre equipement
Pour récupérer le bon ID logique il faut allez sur son Jeedom. On vas dans l’équipement correspondant au salon ou on veut recevoir les notifications de notre NAS.
Vous récupérez l’ensemble de la commande http://192.168.1.65:3466/sendEmbed?color=#B004FB&title=NASCOKE&url=null&description=Hello+world&field=null&footer=Synology&channelID=693448148705869xxx&user=User&password=Password&to=12345678 en ayant prit soin de changer les informations en gras par les votres et uniqueemnt en gras. vous laissez tout le reste tel quel
Vous sélectionnez « Méthode HTTP » GET et vous faite suivant.
ET voilà vous allez recevoir les notification de votre NAS sur votre Discord
4 ) Conclusion
On a fait le tour des possibilité infini que propose le couple JEedom et Discordlink
Amuser vous bien et regarder cette video elle est top et venez nous rejoindre sur le discord de Domotech https://discord.gg/tR6mbQ