Aller au contenu

KV ??? dans Home Center ?


JLT

Messages recommandés

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 :lol:

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 :D) !!!!

Je ne sais si je suis dans la bonne rubrique pour poser la question mais à tout hasard....

Comment rendre l'affichage uniquement en volt ?

 

image.thumb.png.ec4f076a0226c566d03b1699e4462ec6.png

 

Il doit y avoir moyen en amendant les lignes de codes suivantes (mais mes différents essais n'ont pas été concluants :mellow:)

 

        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é par JLT
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

image.png.18a020c2a4c0e84b6ff77113b0c79370.png

 

donc je dois me tourner vers une rubrique qui parle de LUA je suppose, je vais rechercher sur le forum

Lien vers le commentaire
Partager sur d’autres sites

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é par Lazer
Lien vers le commentaire
Partager sur d’autres sites

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.

 

Lien vers le commentaire
Partager sur d’autres sites

Merci Lazer :60:

 

Je partage ton avis sur le market Fibaro, le QuickApp venant de là j'ai pas eu le choix :huh:

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...

image.thumb.png.7386c753c1ab582a75eef6e2528708b3.png

Modifié par JLT
Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

"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é par JLT
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

 

image.thumb.png.94b3868ff53f01e6fb058bc28ddedfd1.png

 

 

Modifié par JLT
Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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... :mellow: )

 

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 :blink:

C'est corrigé et maintenant la QuickApp refonctionne comme précédemment.

Modifié par JLT
Lien vers le commentaire
Partager sur d’autres sites

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" ;-) ) :

 

 

IMG_7170.PNG

Modifié par JLT
  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...