Demande d'amélioration des numéros de téléphone

Bonjour,

Serait-il possible de pouvoir remplacer les numéros de téléphone indiqués en dur par des commandes infos ?
Merci.

Salut,

En beta il y a déjà une commande pour envoyer un sms en passant le numéro en paramètre (une commande info par exemple)

Ca répondra à ton besoin je pense.

Effectivement, j’aurais dû exprimer mon besoin qui est de stocker à un seul endroit les numéros de téléphone. J’ai un utilisateur qui change souvent de numéro et c’est la galère de devoir se rappeler et passer à chaque endroit pour faire les modifications (et source d’erreur).
Après, si c’est trop de temps de dev pour modifier le plugin, je passerai par un bloc code de scénario.

je ne comprend pas ta réponse:

donc tu stocks ton numéro où tu veux et tu l’utilises sur cette nouvelle commande, par exemple dans un scénario:

donc c’est pas trop de temps puisque ca existe déjà

Sauf erreur de ma part, ta commande générique, présente en béta, ne peut pas être reliée à un user, ce qui n’est pas le cas pour les commandes "nominatives".

Et pour quelle raison as-tu besoin de lier à un user? (c’est pour être sur de comprendre)

si c’est pour gérer la réception de message, il existe aussi ces options (je ne sais plus ce qui est déjà en stable ou pas):
image

  • en autorisant les numéros inconnus tu vas recevoir le message et le numéro de l’expéditeur même si son numéro n’est pas lié à une « commande user »;
    donc avec ca c’est possible d’avoir un scénario déclenché par la commande « message sms », là tu tests le numéro reçu dans la commande expéditeur si c’est égal au numéro que tu stock dans ta commande info alors tu fais tes actions

  • en faisant l’ajout des numéros inconnus auto aux commandes, même les interactions fonctionneront sauf si elles sont globalement désactivées mais tu ne connaitras pas l’utilisateur
    mais attention c’est évidement dangereux:

donc j’ai l’impression que globalement tu vas pouvoir t’en sortir surtout si tu n’utilises pas les interactions.


pour aller plus loin en autorisant les interactions de manière sur il faudra pouvoir configurer un numéro de téléphone sur chaque utilisateur au niveau du core et que le plugin sms récupère ce numéro là

  • soit ca serait une config géré par le core nativement
  • soit il faudra utiliser une « nouvelle » mécanique qui permet à n’importe quel plugin d’ajouter des paramètres spécifiques à un objet ou un utilisateur sous jeedom => je vais vérifier depuis quand cette fonctionnalité existe, ca peut être sympa

mais ici, je suis d’avis que ca a plus de sens de rajouter une config « numéro de téléphone » sur le profil user géré par le core en natif
ca sera à voir avec Loic le cas échéant.

Oui, c’est ça.
Mais avec ta solution, en plus des changements que tu cites, il va falloir que je repasse sur tous les scénarios concernés pour changer la commande action.
Dans ce cas, j’aurais plus vite fait de faire mon bloc code de scénario pour modifier le "phonenumber" dans le JSON de configuration de la commande et cela restera plus secure.

Non avec les changements que je cite tu n’aurais rien a changer.

Et sans aucun dev, effectivement en changeant ta commande action, ca fonctionne

Désolé mais :face_vomiting:; C’est mon avis…
on touche pas à la config d’un plugin derrière son dos.

Tu ne m’as répondu si tu utilisais les interactions ou pas :wink:

Non, pas à ce jour.

Bien sûr que non, je mets juste à jour une information de configuration, comme je le fais manuellement dans l’interface du plugin.

En ce qui me concerne, une simple réponse par oui ou par non à ma demande d’amélioration me suffit.
Merci pour ton temps passé sur ce sujet. :smile:

= « toucher à la config du plugin derrière son dos. »
Si un jour le plugin change en interne sa façon de gérer les configs, au mieux ton code ne fonctionnera plus au pire tu casses tout.

Pour le reste j’ai déjà assez monopolisé les réponses en donnant des pistes: ce que tu demandes est déjà possible et ce n’est pas moi qui peut décider « oui » ou « non » de faire plus puisque ce n’est pas mon plugin.

Oui, effectivement, comme lorsque les plugins sont cassés lorsque le core change.
Je ne risque pas grand chose en modifiant la valeur de "phonenumber" même si elle n’est plus utilisée.

Pour d’éventuels intéressés, je partage le code mis en place.

// Mise à jour des numéros de téléphone pour le plugin SMS

$trigger = cmd::cmdToHumanReadable($scenario->getRealTrigger());
$cmd = cmd::byString($trigger);
$cmdName = $cmd->getName();
$eqLogic = $cmd->getEqLogic();
$eqLogicName = $eqLogic->getName();
$object = $eqLogic->getObject();
$objectName = $object->getName();
$cmdValue = $cmd->execCmd();

$scenario->setLog($trigger);
$scenario->setLog($objectName); // nom de l'objet
$scenario->setLog($eqLogicName); // nom de l'équipement
$scenario->setLog($cmdName); // nom de la commande Info
$scenario->setLog($cmdValue); // valeur de la commande Info

$allSmsEqLogic = eqLogic::byType('sms');
foreach ($allSmsEqLogic as $smsEqLogic) {
  $allSmsCmd = $smsEqLogic->getCmd();
  foreach ($allSmsCmd as $smsCmd) {
    $cmdSmsName = $smsCmd->getName();
    if ($cmdName === $cmdSmsName) {
      $scenario->setLog('Commande ==> ' . $smsCmd->getHumanName());
      $smsCmd->setConfiguration('phonenumber', $cmdValue)->save();
    }
  }
}

(J arrive pas a citer le msg depuis mon tel…)

Est ce que le specialAttributes ne pourrait pas aider !? Plutot que d avoir un truc dans le core

« Nouvelle » mécanique = specialattributes

1 « J'aime »

Visiblement a partir d une certaine heure, mes yeux ne lisent plus correctement, surtout que c etait la partie que je voulais citer :sweat_smile:
Désolé

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.