String/int error debian12 V4.5

Bonjour,
J’ai une machine virtuelle D12 +J4.5 vers laquelle j’ai fait une sauvegarde et qui n’a jamais reçu de clé zwave.
J’utilise cette info dans un virtuel :


dans un virtuel :

#[Salon][22 - Conso Poêle][Puissance]#)/10.

qui provoque une erreur de type string / int
Je suis étonné du int mais surtout la puissance ressort comme une chaine alors qu’elle est déclarée comme numérique
Si j’édite ce virtuel avec ce code, la sauvegarde ne se fait pas. Donc il y a un contrôle quelque part mais sans dire pourquoi.
la solution est donc :

floatval(#[Salon][22 - Conso Poêle][Puissance]#)/10.

le passage à debian 12 va poser souci.

Je te laisse lire le long post.

J’ai bien lu auparavant le post cité.
Ce que je relève est différent.
Le virtuel utilise une données provenant du plugin zwavejs cette donnée est indiquée « numérique »
quand on met une sauvegarde en provenance de 4.4 cette donnée est traitée comme un string.
le seul moyen est de convertir cette donnée en float.
La donnée d’origine, le core sait que c’est du numérique et j’imagine ne devrait pas traiter comme du string dans le virtuel sachant qu’il n’y aucun traitement utilisateur entre les 2.

Bonjour,
Le soucis c’est pas plutot que tu n’as pas de valeur ? Car oui dans ce cas vide est un string.

Pour info en 4.5 si la valeur est vide en numerique ca renverra 0 et en binaire false, a voir si ca reste car vide n’est pas 0 et false n’est pas vide non plus…

oui la donnée est vide.
le test a été fait avec la dernière 4.5 qui renvoie un string

Remet a jour le comportement est changé mais pour moi c’est une mauvaise idée car la ca renvoi 0 à la place de vide donc c’est pas juste.

Je n’ai pas de conseil à donner je n’en ai pas les compétences, je relève juste le souci.

Cependant, pour ne pas avoir le souci, il faut mettre floatval(), ce qui est en train de se généraliser sur les posts qui traitent des scénarios/virtuel php8.
Mais effectivement si c’est utilisé pour une division ça n’arrange pas.

4.5 semble vérifier le virtuel qui provoque une erreur php8 puisqu’il n’y a pas de sauvegarde lors de l’édition (je ne peux plus sauvegarder en enlevant le floatval()) peut être faire une passe et prévenir lors du passage 4.4 debian11 → 4.5 debian 12 ?
C’est juste une suggestion.