Merci à vous deux pour ces pistes. En effet des erreurs et j'en ai corrigé certaines.
En fait je me bats pour récupérer des valeurs du panneau de chauffage et à priori l'API à pas mal changé. le fait d'utiliser les 2 premières lignes vient d'un code retrouvé sur le forum fibaro directement.
Si je commente toute la boucle If, il n'y a pas d'erreur et je récupère bien la valeur de panel.properties.currentTemperature.
L'erreur ne semble donc pas provenir de cette partie du code. Ceci dit, en la mettant en commentaire, je récupère quand même la valeur.
Donc en résumé :
local panel = api.get("/panels/heating/94") -- 94 etant le numéro du panneau de chauffage qui m'intéresse pour cette pièce
fibaro:debug(panel.properties.currentTemperature) -- Retourne 21, donc la valeur du panneau
If panel.properties.currentTemperature == 21 then --Test de la valeur de la température de consigne actuelle du panneau de chauffage n°94
fibaro:call(fibaro:getSelfId(), "pressButton", "3") -- Actionne le bouton 3 (Confort) du virtual device de chauffage (celui où s'exécute actuellement ce code dans le Main)
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Consigne.value", panel.properties.currentTemperature) -- Mets à jour l'affichage de la température de consigne dans le virtual device
ElseIf panel.properties.currentTemperature == 18,5 then
fibaro:call(fibaro:getSelfId(), "pressButton", "2")
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Consigne.value", panel.properties.currentTemperature)
End
Je présume que la valeur retournée pour la propriété panel.properties.currentTemperature est de type integer, malgré tout j'ai également fait des tests avec des conversions. J'ai toujours la même erreur et je pense qu'il s'agit de syntaxe ou de conversion. J'ai tenté les " et les ' autour de la valeur à tester, le problème reste identique (eg : panel.properties.currentTemperature == '21' then)