Contrôle du programme en cours

Tags: #<Tag:0x00007fa7ab8241c8>

Bonsoir,
J’ai créé quatre programmes exécutés en fonction de la présence des personnes.
Je voudrais pouvoir vérifier la valeur du programme en cours dans mes scénarios genre si #programme# == ‹ parents ›
Je ne trouve pas la valeur à mettre pour programme.
J’espère avoir été assez clair.
Merci

Bonjour,
Par script, tu devrais parvenir à tes fins : jette un œil sur les derniers messages du fil principal du plugin, il est question de $scenario->getData (et setData), et le système des tags, je pense que c’est la réponse que tu cherches…

Ceci dit, si tu envoies 2 fois le même programme, vu qu’il y a un contrôle de delta, il ne se passe rien la seconde fois (ne sont envoyés que les programmes hebdo des zones différents des programmes courants).

Bonjour,
j’ai essayé avec l’exemple que vous avez donné.
j’ai été chercher l’information également dans la console.
mais cela ne fonctionne pas.
je n’ai aucune connaissance dans ce langage.
Je pense ne pas mettre les bonnes informations en ligne 6.
Merci.

Sans titre

Je crois qu’on ne s’est pas compris…
Par quel moyen tu sélectionnes le programme ?
Et quel est le déclencheur de ton scénario ?

Le programme est sélectionné par la fonction restaure.
les déclencheurs sont en fonction de la présence des personnes et d’un widget qui gère des variables et qui me permet de forcer le passage d’un des quatre programmes.
Ce que je recherche ,c’est ou aller chercher l’information que le programme est bien passé dans la console.
dash Declencheurs !prog chauff

Merci de ta patience.

Ok, alors le bout de script que tu as utilisé ne peut pas faire le job :slight_smile:

Remplace par :

$objParent = "MAISON";
$eqName = "Console";
$eq = eqLogic::byObjectNameEqLogicName($objParent,$eqName);
$locId = $eq[0]->getLogicalId();
$keyPrefix = honeywell::iCFG_SCHEDULE_ID . HeatMode::SCHEDULE_TYPE_TIME;
$fileId = config::byKey($keyPrefix . $locId, honeywell::PLUGIN_NAME);
$fileInfos = honeywell::getFileInfosById($locId,$fileId);
$tags = $scenario->getTags();
$tags['#ProgrammeHebdomadaire#'] = $fileInfos['name'];
$scenario->setTags($tags);

avec cela, on a code universel :wink:
On peut simplifier (supprimer les 3 premières lignes), si on connait le locId (c’est le logicalId de l’équipement « console » comme codé ici, ou ID Logique, visible dans l’onglet Configuration avancée du composant).

Le tag à utiliser est donc : #ProgrammeHebdomadaire#
Rappel (par rapport à ce que j’avais posté sur le fil du plugin) : un nom de tag ne peut comporter d’espace.

Enfin, pour information, il s’agit bien du nom du dernier programme correctement envoyé.
Le ‹ fileId › est sauvegardé (config…) uniquement si l’envoi s’est bien passé.

Superbe, cela fonctionne parfaitement.
je te remercie pour ta disponibilité et le temps que tu passes pour nous aider.
Je ne sais pas s’ils y a eu des changements au niveaux de leurs serveurs, sa fait plus de 24 heures que je n’ai plus de défauts de transmission et mes programmes passent immédiatement.
En espérant que cela continu.

Super, content pour toi, et ça peut servir pour d’autres :wink:.
Normal que j’aide sur ce genre de chose, si j’avais prévu des cmd info (comme pour l’histoire du check batterie), ce serait beaucoup plus simple…
Je vais y penser pour une future release…

La comm’ est erratique avec Honeywell, c’est clair, et ça dure depuis un certain temps, de la même façon qu’avec l’appli smartphone d’ailleurs (serveur injoignable).
Si ça semble s’être calmé, comme tu l’indiques, et bien ouf, tant mieux…
Les jours à suivre nous le diront !

Hello,

Pareil pour moi, plus aucune erreur, j’en avais tellement marre, même l’appli super lente et souvent en maintenance.

Bonne journée,
Ludo