Bonjour,
je souhaiterai savoir s’l est possible d’agir sur « Ajustement du temps de filtration » par scénario par exemple pour ajuster le pourcentage en fonction de la temperature de l’eau .
Merci
Bonne journée
Bonjour,
Tu parles du plugin piscine ou tu veux faire toi tout seul dans un scénario ?
Si tu veux faire toi tout seul je pense qu’il faut juste faire un calcul en fonction de la température de l’eau… Genre: durée (h) = Temp (°C) /2 de manière très très (très) basique
je parle du plugin piscine
ok, tu as lu la doc du plugin ou pas ? Car soit tu mets en courbe soit c’est avec Température/2… (choix méthode calcul) et l’ajustement tu ajustes en fonction de ton besoin…
Oui ça c’est ok , je gere en courbe
Mais au dela d’une certaine température , j’aimerai abaisser le 100% mais de façon auto, pas aller dans le plugin à chaque fois
Salut @xav31190 , tu as trouvé une solution finalement car ça m’interesse aussi
Salut,
Non, Je suis parti de fixer la valeur à 80% tout le temps
J’ai essayé « temps filtration » mais ce n’est pas ça
J ai tenté de contacter le dev du plugin.
Ça doit être une valeur en dur dans la configuration du plugin.
J’avais déjà proposé un code pour modifier une autre valeur de config (heure pivot). Si tu trouve le bon paramétrage dans la configuration, le bloc code doit fonctionner
EDIT : le champ de config s’appelle donc « coefficientAjustement » et il prend comme valeur 5 pour 50%, 7,5 pour 75%, … du coup, voici un bloc code qui doit fonctionner ! il recalcule à la fin le nouveau temps de filtration.
$eqLogicId = 85; // ID de l'équipement
$newCoeff = '5'; // nouveau coeff
$eqLogic = eqLogic::byId($eqLogicId);
if ($eqLogic) {
$oldCoeff = $eqLogic->getConfiguration('coefficientAjustement'); // récupération de l'ancien coeff
// Vérification que le nouveau coefficient est différent de l'ancien
if ($oldCoeff != $newCoeff) {
// Log de l'ancien et du nouveau coefficient
$scenario->setLog('Ancien coeff : '.$oldCoeff.' , Nouveau coeff: '.$newCoeff);
// Mise à jour de l'heure pivot
$eqLogic->setConfiguration('coefficientAjustement', $newCoeff);
$eqLogic->save();
// Recalcul de l'heure de filtration
$resetCmd = '#'.$eqLogic->getHumanName().'[Reset]#';
cmd::byString($resetCmd)->execCmd();
$scenario->setLog("Reset de la plage de filtration");
} else {
// Si le coefficient est identique, pas d'action
$scenario->setLog('Ancien coeff identique au nouveau coeff, pas d\'action');
}
} else {
// Gestion d'erreur si l'équipement n'est pas trouvé
$scenario->setLog('Erreur : équipement non trouvé avec l\'ID '.$eqLogicId);
}
Norbert
Merci
Ca n’est pas dans ma zone de confort mais j’essayerais à l occasion
@ngrataloup
J ai une erreur json quand je copie ton texte dans un scénario dès la première ligne.
J ai fait du C++ il y a 30 ans et du html il y a 20 ans, je vais continuer à chercher
Tu as quoi comme erreur exactement ?
Merci pour ton aide…
j’ai créé un scenario, puis j’ai fait « edition texte »
Là dedans, j ai collé le code que tu m’as mis ici, ça m’a donné une erreur json donc impossible de sauvegardé l’édition de texte.
Pour avoir le détail je suis allé collé ton code sur https://jsonlint.com/ et ca me donne comme erreur
Error: Parse error on line 1:
*$eqLogicId = 85; *
^
Expecting ‹ STRING ›, ‹ NUMBER ›, ‹ NULL ›, ‹ TRUE ›, ‹ FALSE ›, ‹ { ›, ‹ [ ›, got ‹ undefined ›
J’ai donc fais différents tests avec des ",',[,{ mais je ne passe jamais la premiere ligne.
Je suis sur que c est une erreur de nul, merci pour ta patience
oullala, ca n’ets pas du tout comme ca que ca marche !
il faut créer un « bloc code ». ca se trouve au meme niveau que les bloc SI ALORS, ACTION, A, DANS, …
Et juste coller le bout de code que je t’ai donné dans ce bloc code
Norbert…
Ok ca semble fonctionner
je vais continuer à écrire le scenario, je reviendrais ici pour vous donner la conclusion
Salut la méthode avec les blocs marche très bien. Je me suis fait un mode « bâchée » avec 30% du temps et un mode « débâchée » à 70%.
Encore merci @ngrataloup