Debian 12.6/PHP 8.2.20: maxBetween

Bonjour

Avec le passage sous debian 12.6 et PHP 8.2.20 j’ai un comportement surprenant avec le plugin virtual et les fonctions maxBetween / minBetween.
Je l’utilise, entre autres choses, pour retravailler des données issues de plugin-sma_sunnyboy
Les valeurs issues de ce plugin après mise à jour debian 12.6 le 1/7 vers 21h40 ne sont plus valides pour les calculs dans mes virtuels.

J’avais entré les formules suivantes qui ont bien fonctionnées jusqu’à la mise à jour:
Prod journalière PV

statisticsBetween((#[Grange][Solar][PV Total]#, max, midnight, now) - minBetween(#[Grange][Solar][PV Total]#, midnight, now) 

Mensuelle

maxBetween(#[Grange][Solar][PV Total]#, today, now) - minBetween(#[Grange][Solar][PV Total]#, last day of last month, now) 

Hebdo

maxBetween(#[Grange][Solar][PV Total]#, today, now) - minBetween(#[Grange][Solar][PV Total]#, monday this week, now) 

Année en cours:

maxBetween(#[Grange][Solar][PV Total]#, midnight, now) - minBetween(#[Grange][Solar][PV Total]#, first day of january 00:00:00, now) 

Si je prends la dernière formule, c’est « maxBetween(#[Grange][Solar][PV Total]#, midnight, now) » qui ne fonctionne pas", résultat «  » dans le testeur d’expression.
« minBetween(#[Grange][Solar][PV Total]#, first day of january 00:00:00, now) » fonctionne comme attendu, toujours selon le testeur d’expression.

Sur les conseils de phpvarious, j’ai testé avec intval() mais cela ne fait que renvoyé 0. Probablement normal au vu du résultat sans intval() obtenu avec le testeur d’expression: «  » ( vide donc).

Si quelqu’un y comprend quelque chose…

Tcho

Antoine

Salut,

Je ne comprend pas où tu as pu essayer de mettre un intval() dans la formule?
autour du maxBetween()?

Salut

Oui, c’est cela…

Antoine

ok et c’est sensé y avoir un résultat? pcq si ca renvoi une chaine vide la raison est une parmi les suivantes:

  • la commande n’existe pas
  • la commande n’est pas historisée
  • la commande n’est pas une commande info ou de type « string »
  • aucun résultat sur la période demandée

Salut

La commande existe et est active.

L’historisation est cochée. Je n’ai rien changé sur cette commande entre le moment ou cela fonctionnait et le moment ou celle s’est mise à dysfonctionner.

C’est une type info string.

Je ne crois pas mais comme l’historique ne s’affiche pas. :zipper_mouth_face:

Mais en réactivant le virtuel ce soir pour te répondre, cela fonctionne à nouveau comme avant… J’ai l’air d’un c*n avec mon problème qui n’en n’est plus un.

Antoine

ce que je voulais dire c’est que la commande ne peut pas être de type string, le core va d’office retourner une chaine vide dans ce cas.

mais c’est comme ca depuis des années et pareil avec minBetween; p-e qu’il y a eu un fix quelque part qui fait que avant ca passait entre les mailles mais je ne vois pas quoi

bref ces fonctions ne peuvent être utilisées que sur une info/numérique, ce qui est logique

et c’est pas logique, c’est explicitement bloqué dans le cas d’une info/string

1 « J'aime »

Je passe en mode info numérique sur le plugin SMA, c’est possible. Pour visualiser l’historique c’est beaucoup mieux :smiley:
Antoine

Après 24h, cela ne fonctionne plus du fait d’une erreur récurrentes déjà évoquée dans le topic ci-dessous :

Surprenant que cela fonctionne par à coup.

Antoine

Ah mais en relisant l’autre post, le problème d’origine était-il fixé ou pas?

tu as coché « solution » mais c’était un fix uniquement pour l’erreur de syntaxe sans rapport avec la remonté d’origine, un fix du fix en quelque sorte

J’ai cru que c’était corrigé comme elle avait disparu. Mais depuis le 24/7 avant 21h, c’est revenu.

Antoine

Bonjour,
Si tu as juste changé le sous type de string a numeric sans vider l’historique cette erreur est normal, il te faut vider l’historique.

1 « J'aime »

Tu pourrais me préciser commment ? J’ai mis l’historique sur un jour puis sauvegarde, mais le message revient.

Erreur sur la fonction cron du plugin : Unsupported operand types: string - string

Je sais pas trop quoi dire de plus que : il faut supprimer l’historique de la commande. Ou bloques tu ?

Sur comment suprimer cet historique. J’ai réglé sur un jour…

Menu analyse > historique, tu cherches la commande à gauche et tu supprimes avec la poubelle

2 « J'aime »

Merci, j’utilise si rarement ce menu que je l’avais oublié.

Antoine

Salut

Fait mais l’erreur reste.
L’historique reste maintenant vide:
Capture
Malgré une mise à jour de la valeur de la commande.

Antoine

Tu es sur d’avoir vider l’historique de la bonne commande ?

Oui:
#[Grange][Solar][PV Total]#

image

statisticsBetween((#[Grange][Solar][PV Total]#, max, midnight, now) - minBetween(#[Grange][Solar][PV Total]#, midnight, now)

Je comprend pas la y’a pas d’erreur il te dit juste qu’il a pas d’historique mais y’a plus l’erreur de string