Formule de calcul dans une commande info "Autre"

Bonjour,

Serait-il envisageable d’avoir comme pour les commandes infos "Numérique", le champ Formule de calcul dans les commandes infos "Autre" afin de pouvoir formater des chaînes de caractères ou transformer des nombres en chaîne de caractères?


Retourne
Capture d’écran du 2022-10-27 18-09-17

Sinon, en "Numérique", cela fonctionne en retournant un nombre.

Capture d’écran du 2022-10-27 17-00-11
Capture d’écran du 2022-10-27 17-01-02

1 « J'aime »

J’y avais déjà pensé, il n’y a que quelques lignes de code à supprimer dans le core.

Sinon tu peux passer en numérique ou binaire, sauver l’équipement, éditer la commande avec ta formule, sauver la commande, la repasser en numérique et sauve l’équipement.

La formule n’est pas supprimée, donc elle s’applique (mais tu ne la vois plus) :kissing_heart:

Ah c’est bien ce qu’il me semblait, je suis tombé justement dessus hier soir et je me demandais si je devais signaler ça comme un bug parce que c’est quand même sacrément pratique!

1 « J'aime »

"la repasser en autre", je suppose.
Mais cela ne fonctionne pas, cela fait comme si il n’y avait pas de formule.

Tu peux mettre un vote alors ?
Capture d’écran du 2022-10-27 18-06-12

Super idée :ok_hand:

1 « J'aime »

Je connaissais pas ce système de vote !
Comment fait-on pour créer un vote ?
Où voit-on tous les votes en cours ?
(Si je tape « jeedom vote » dans un MDR j’ai pas grand chose qui tombe…)

Merci bison,
Je dois comprendre qu’il n’existe pas de lieu qui regroupe les votes en cours ?
Si « ha non ! » :
Je proposerai bien un vote sur mets on toujours en debut du fils « récent » une rubrique « vote en cours » pour attirer l’attention sur ces derniers !
Il y aurait :

  • les votes de la semaine
  • les 3 premiers de chaque semaine, à la fin du mois deviendrait les « votes du mois »
  • les 3 premiers a la fin du semestre, deviendraient « les votes du semestre »…

(Je sais pas si c’est clair ??)
Ou….
Non, pas une top idée !??
:slight_smile:

Ps: mille excuses pour le HS

1 « J'aime »

Je n’ai pas fait de création de sondage mais créé un sujet comme d’habitude.
Je pense que c’est la catégorie "Suggestions pour le Core" qui entraîne le vote (à confirmer).

1 « J'aime »

Ah, alors sûrement :blush:

Salut,

Indisponible en ce qui me concerne mais c’est peut-être pas plus mal :rofl:

1 « J'aime »

Merci pour vos votes. :sunglasses:

1 « J'aime »

Hi Bad,
Pourrais-tu développer, stp, je ferai bien des tests ?

PR posté ici :

Si tu as envie de tester avant que ce soit en alpha/beta/stable, le changement peut se faire TRES simplement avec l’éditeur de fichier, car il n’y a qu’une ligne à modifier.

Merci Bad,
Après modification de la ligne, le champ "Formule de calcul" est maintenant bien visible mais aucun calcul n’est appliqué à #value#.
Il doit y avoir une autre modification à faire ?

Bonsoir,

il manque effectivement une modification.
Il faut aussi modifier la fonction formatValue() de cmd.class.php pour y appliquer la Formule de calcul :
https://github.com/jeedom/core/blob/alpha/core/class/cmd.class.php#L908

Existant :

				case 'string':
					if ($_quote) {
						return '"' . $_value . '"';
					}
					return $_value;

Modif :

					case 'string':
					if ($this->getConfiguration('calculValueOffset') != '') {
						try {
							if (preg_match("/[a-zA-Z#]/", $_value)) {
								$_value = jeedom::evaluateExpression(str_replace('#value#', '"' . $_value . '"', str_replace('\'#value#\'', '#value#', str_replace('"#value#"', '#value#', $this->getConfiguration('calculValueOffset')))));
							} else {
								$_value = jeedom::evaluateExpression(str_replace('#value#', $_value, $this->getConfiguration('calculValueOffset')));
							}
						} catch (Exception $ex) {
						} catch (Error $ex) {
						}
					}
					if ($_quote) {
						return '"' . $_value . '"';
					}
					return $_value;
1 « J'aime »

Ouais j’ai été un peu vite ce matin désolé… Va falloir que j’edit le pr aussi…

1 « J'aime »

J’ai mis en œuvre ta modification du code et le résultat est parfait.
Merci à vous deux.

Résultat :

Capture d’écran du 2023-01-04 23-49-32

1 « J'aime »