JLT Posté(e) le 13 mars 2021 Signaler Posté(e) le 13 mars 2021 (modifié) Bonjour, J'utilise l'app Home Center notamment pour voir la situation de production solaire. J'ai trouvé sur un très ancien message (plus de 10 ans !) sur un forum le code dans l'onduleur SMA pour avoir la valeur de la tension de sortie Parce que avoir la puissance de celui-ci, merci je crois que je la connais par coeur maintenant Donc j'ai ajouté dans le fichier du HC une ligne supplémentaire pour la tension et elle s'affiche maintenant dans l'app. MAIS en KV (non non je ne suis pas une centrale solaire ) !!!! Je ne sais si je suis dans la bonne rubrique pour poser la question mais à tout hasard.... Comment rendre l'affichage uniquement en volt ? Il doit y avoir moyen en amendant les lignes de codes suivantes (mais mes différents essais n'ont pas été concluants ) if (value > 1000000) then unit = "m" .. unit value = value / 1000000 elseif (value >= 1000) then unit = "K" .. unit value = value / 1000 J'AVAIS AJOUTE CECI MAIS CA NE FONCTIONNE PAS : -- elseif (value < 1000) then -- unit = "" .. unit -- value = value / 1 end Modifié le 13 mars 2021 par JLT
Lazer Posté(e) le 13 mars 2021 Signaler Posté(e) le 13 mars 2021 Euh, je comprends rien là, effectivement tu as dû poster au mauvais endroit. Quel rapport avec l'application mobile ? Quel rapport avec iOS ? En fait, il sort d'où ton code LUA ? D'un module virtuel existant ? C'est là qu'il faut aller chercher
JLT Posté(e) le 13 mars 2021 Auteur Signaler Posté(e) le 13 mars 2021 ok ok, le résultat, que l'on voit sur la capture d'écran, est dans l'application mobile Home Center. Et le code vient effectivement d'un module virtuel donc je dois me tourner vers une rubrique qui parle de LUA je suppose, je vais rechercher sur le forum
Lazer Posté(e) le 13 mars 2021 Signaler Posté(e) le 13 mars 2021 (modifié) OK je comprends mieux Mais ce module virtuel, tu l'as écrit toi même ? Ou il existe déjà sur le forum ? Auquel cas on rattachera ta demande au bon topic. EDIT : je vois dans ta capture d'écran que ce n'est pas un module vituel, mais un QuickApp, logique puisque tu es sur HC3. Je n'ai pas l'impression que ça vienne du forum Modifié le 13 mars 2021 par Lazer
JLT Posté(e) le 13 mars 2021 Auteur Signaler Posté(e) le 13 mars 2021 Oui tu as raison, c'est un QuickApp ca vient du marketplace.fibaro https://marketplace.fibaro.com/items/sma-inverters-integration-plugin On peut déplacer dans "Quick App Developpeur" ?
Lazer Posté(e) le 13 mars 2021 Signaler Posté(e) le 13 mars 2021 J'ai déplacé dans QuickApp support Le rubrique développeur c'est quand il y a un tuto associé, ce qui n'est pas le cas ici Bref, voilà bien pourquoi je n'aime pas le market Fibaro sous sa forme actuelle. Il est juste nul. Pas de zone de support, un espace de commentaire inadapté (pas de notification de nouveau message, impossible de mettre en forme, etc), du coup impossible de solliciter l'auteur pour obtenir du support. Regarde si tu peux le contacter en privé ou via le market. Ou bien via son Github Sinon on peut aussi apporter de l'aide ici, si tu es prêt à modifier le code LUA toi même.
JLT Posté(e) le 13 mars 2021 Auteur Signaler Posté(e) le 13 mars 2021 (modifié) Merci Lazer Je partage ton avis sur le market Fibaro, le QuickApp venant de là j'ai pas eu le choix L'auteur n'est malheureusement pas très réactif aux questions Mais je suis prêts à modifier le code LUA si de "bonnes âmes" passent par ici Juste pour info, j'ai créé une page détail pour le bouton "SMA OUEST" sur "l'app Home Center", et j'ai réussi le paramétrage avec des valeurs correctes : 247 V est bien en Volt, c'est clair dans le code LUA, mais pour les boutons génériques de la capture d'écran du premier message, il m'est impossible d'arriver à afficher en Volt au lieu de KV (même avec l'ajout de code, sans doute erroné) Un autre point que je n'ai pas réussi à solutionner (mais est ce possible ?) c'est l'affichage des nombres en mode européen, c'est à dire, le point pour les milliers et la virgule pour les décimales... Modifié le 13 mars 2021 par JLT
Lazer Posté(e) le 13 mars 2021 Signaler Posté(e) le 13 mars 2021 Donc ce que tu veux modifier, c'est la valeur et l'unité du QuickApp "Puissance actuelle" ? C'est un QuickApp autonome, ou bien un Child du QuickApp parent ? Pour le séparateur décimal point/virgule, je pense que Fibaro nous l'impose, à vrai dire je n'y avais même pas fait attention, mais en tout cas on n'y peut rien.
JLT Posté(e) le 13 mars 2021 Auteur Signaler Posté(e) le 13 mars 2021 (modifié) "Tension de sortie", j'ai pu avoir un affichage correct dans ma fenêtre détail, et je voudrais avoir pareil dans le menu de base pour "Tension de sortie" (et pas "KV") Je pense que c'est un QuickApp autonome Voilà le détail de la partie concernant l'affichage de base, je pense, qui est erroné pour la ligne "tension de sortie" que j'ai ajouté à la liste des autres données récupérées. si >1000000 donne l'affichage "M", et >1000 "K", je pensais que <1000 ne donnerai pas "K", mais ca ne change rien... function QuickApp:createDevices() for property, data in pairs(self.values) do local name = self.phrases["NAMES"][self.smaProperties[property]] if (not name) then name = self.smaProperties[property] end if (not name) then name = property end local type = "com.fibaro.multilevelSensor" local data = self.values[property] local child = self:addSMAChildDevice(property, name, type) local value = data.value local unit = self:getUnit(property) if (value > 1000000) then unit = "m" .. unit value = value / 1000000 elseif (value >= 1000) then unit = "K" .. unit value = value / 1000 -- elseif (value < 1000) then -- unit = "" .. unit -- value = value / 1 end child:updateProperty("unit", unit) child:updateProperty("value", value) end self:updateView("label1", "text", self.phrases["LAST_UPDATE"] .. ": " .. os.date("%Y-%m-%d %H:%M:%S")) end Modifié le 13 mars 2021 par JLT
Lazer Posté(e) le 13 mars 2021 Signaler Posté(e) le 13 mars 2021 Tu devrais avoir 24.44 V et non pas 24.44 KV, c'est bien ça ? Visiblement d'après le code LUA c'est bien un Child device, mais ça tombe bien tu as déjà tout ce qu'il faut pour changer l'unité. Méthode bourrin, tu peux forcer l'unité en Volts : child:updateProperty("unit", "V") Mais attention, le code que tu as montré, c'est la fonction QuickApp:createDevices() dont le nom laisse à penser qu'elle n'est appelée qu'une seule fois, lors de la création du child. Dans ce cas, il faut soit supprimer ton child et lui demander de le recréer (avec la ligne updateProperty en Volts que je t'ai donné au dessus), ou bien mettre cette ligne ailleurs dans le code pour qu'elle soit exécutée. Ou bien manuellement en passant par l'API HTTP : http://x.x.x.x/api/callAction?deviceID=XX&name=updateProperty&arg1=unit&arg2=V Tu remplaces juste l'adresse IP et l'ID de ton child
JLT Posté(e) le 13 mars 2021 Auteur Signaler Posté(e) le 13 mars 2021 (modifié) 244 V oui et pas 24.44 KV C'est la tension de sortie de l'onduleur qui est connectée au réseau électrique. Merci pour les précisions car ce monde est nouveau pour moi. Ce que j'avais appliqué pour la fenêtre détail personnalisée, utilisait la ligne suivante, et les Volts sont correctement affichés (comme sur la capture d'écran de mon 4è message de ce fil) elseif self.values[property]['name'] == 'output_voltage' then self:updateView("button3_4", "text", string.format("%.f", self.values[property]['value'] / 100) .. " V") Oui, l'idée de ta première proposition est bonne, je n'ai plus le "K" devant le "V" mais cela impacte les autres valeurs qui normalement sont en W Modifié le 13 mars 2021 par JLT
Lazer Posté(e) le 13 mars 2021 Signaler Posté(e) le 13 mars 2021 Ah ben oui, mais je ne sais pas ce que tu as fait du coup, si tu a mis la commande setProperty n'importe où dans le code LUA, effectivement ça va impacter TOUS les children C'est pour cela que je t'ai donné l'URL via l'API, ça ne change que le module désigné par son ID. Sinon pour la valeur il faut la multiplier par 10. Après je ne connais pas le code de ce QA, je n'ai pas le temps de rentrer dedans, donc si tu ne sais pas où il faut faire la modif, et si tu as peur de faire d'autres bêtises, le mieux est de demander à son auteur.
JLT Posté(e) le 20 mars 2021 Auteur Signaler Posté(e) le 20 mars 2021 (modifié) Juste pour info : depuis la mise à jour en 5.070.42 de la HC3, la QuickApp SMA Inverters est muette, tout comme son concepteur d'ailleurs... (ou peut être est ce l'app "Home Center" 1.9 sur ios qui ne sait plus afficher les données de cette QuickApp depuis la mise à jour... ) Edit : j'ai trouvé une erreur à la ligne 61 du fichier "Main" de cette QA. Etonnamment cela fonctionnait bien avec la version précédente du firmware 5.50, mais plus avec la 5.70 C'est corrigé et maintenant la QuickApp refonctionne comme précédemment. Modifié le 21 mars 2021 par JLT
JLT Posté(e) le 24 mars 2021 Auteur Signaler Posté(e) le 24 mars 2021 (modifié) Pour info, j'ai trouvé la solution pour l'affichage en volt de la tension de sortie de l'onduleur. Vu que la donnée, tension de sortie, était basée sur un nombre de 5 chiffres, 12345, qui normalement donne un nombre entier de 3 chiffres suivi de 2 décimales, 123,45, mais dont ce n'était pas le cas avec l'affichage de la QA SMA (d'où l'apparition du "K") j'en ai déduit qu'il fallait avoir un filtre dédié à cette donnée parmi les autres. Et j'ai réussi en utilisant "and" dans la formule : if (value > 1000 and unit == "V") then unit = " " .. unit value = value / 100 et cela donne bien maintenant un nombre correct pour la tension (et tant pis pour le point au lieu de la virgule pour la décimale, pas trouvé de solution a cette notation "anglosaxonne" ;-) ) : Modifié le 24 mars 2021 par JLT 1
Messages recommandés