Bonjour,
Ces fonctions ne sont jamais écrasées.
Bonjour,
Ces fonctions ne sont jamais écrasées.
Ah OK, merci.
J’imaginais qu’il fallait aller modifier le code du core de jeedom, mais du coup j’imagine que ça se fait ailleurs.
[…] recherche dans la doc […]
Du coup je comprends que cette fonction perso est créée dans data/php/user.function.class.php ?
Après modification j’obtiens ça :
require_once dirname(__FILE__) . '/../../core/php/core.inc.php';
class userFunction {
public static function plop($_arg1 = '') {
return 'Argument 1 : ' . $_arg1;
}
// Ajout de la fonction permettant de récupérer l'ID d'une commande. Peut être utilisé dans #trigger_id# == cmdGetId(#[objet][equipement][commande]#) et maintenir ainsi la mise à jour automatique du code en cas de modification de nom de commande.
public static function cmdGetId($_cmd) {
return cmd::byString($_cmd)->getId();
}
}
Après test ça fonctionne très bien !
Merci @Jeandhom et @Madcow !
Bonjour Aurélien, bonjour à tous
Sauf erreur de ma part, quand vous dite :
dans l’exemple donné :
l’ID change non ?
Donc ça ne fonctionne pas…?
L’autre cas qui reviens souvent, est le remplacement d’un détecteur par un autre (un vieux z-wave par un nouveau Zigbee ou autre, par exemple), là aussi l’ID de la commande change.
L’outil Remplacé fonctionnera donc partout sauf pour les trigger…
N’est-il pas possible, UNIQUEMENT pour cette fonction de garder la fonction trigger() active dans le futur ?
Ou alors que
'[objet][equipement][commande]'
se comporte comme
#[objet][equipement][commande]#
vis à vis de l’outil Remplacement (que l’outil remplacer le détecte et le remplace) ?
Sur le lien de Jeandhom, on voir, qu’il y a un an, Iperenna soulevait déjà ce souci de remplacement :
Ou, sera-t-il obligatoire de faire la technique de Jeandhom ?
Mais, dans ce cas, il est quand même écris
Je peux appuyer sur le bouton « Sauvegarder & Fermer » ?
Bon, j’ai sauvegardé et me suis lancé, ça fonctionne très bien
En résumé…
Il faudra juste savoir si (pas d’urgence, mais ça pourrait être chouette de trancher) :
#trigger_id#==cmdGetId(#[objet][equipement][commande]#)// Fonction perso :
//------ Permet de récupérer l'ID du nom humain d'une commande :
public static function cmdGetId($_cmd) {
return cmd::byString($_cmd)->getId();
}
selon
(plus qu’a copié coller dans la doc…
Oui, oui, c’est ma résolution 2026, savoir faire des PR dans le Github
)
Puis le test :
![]()
devient :
PS : Pour retrouver ses « trigger » : Outils / Recherche :
Merci Henri. Je vais rester sur la solution 1 qui fonctionne… et on verra la décision de l’équipe Jeedom