mprinfo Posté(e) le 7 décembre 2020 Signaler Posté(e) le 7 décembre 2020 Super merci je test cela ce soirChristophe il a ses préférences Envoyé de mon BLA-L29 en utilisant Tapatalk
Lazer Posté(e) le 7 décembre 2020 Auteur Signaler Posté(e) le 7 décembre 2020 mprinfo mais quelle feignasse j'y crois pas Bravo MAM78, c'est à ça que sert le forum, partager et améliorer. Tu devrais juste partager le code LUA en plus du FQA, ça éviterai à ceux qui ont déjà importé le QuickApp de devoir en importer un nouveau, faire le ménage de l'ancien, gérer les nouveaux ID, etc. Un copier/coller du code LUA c'est souvent plus rapide pour les mises à jour. 1
MAM78 Posté(e) le 7 décembre 2020 Signaler Posté(e) le 7 décembre 2020 C'est fait, dans le post en question
mprinfo Posté(e) le 7 décembre 2020 Signaler Posté(e) le 7 décembre 2020 @Lazer j'aime le travail bien fait je le laisse à des gens plus compétent Envoyé de mon BLA-L29 en utilisant Tapatalk
MAM78 Posté(e) le 31 octobre 2021 Signaler Posté(e) le 31 octobre 2021 (modifié) Hello @Lazer, j'ai remarqué que tu as réussi à changer le type du device principal en Capteur binaire "com.fibaro.binarySensor" et par la même occasion permis la modification son icône. Evidement je ne parle par des Childs J'ai essayé : self.type = "com.fibaro.binarySensor" Mais ça ne marche pas, ça doit être probablement plus subtile Pourrais-tu STP m'indiquer comment tu as fait ? Modifié le 31 octobre 2021 par MAM78
MAM78 Posté(e) le 1 novembre 2021 Signaler Posté(e) le 1 novembre 2021 Laisse tomber, j'ai récré mon Device en choisissant son type à la création. Au cas où, est-ce que tu sais s'il est possible de le modifier a-posteriori ?
Lazer Posté(e) le 1 novembre 2021 Auteur Signaler Posté(e) le 1 novembre 2021 Pour autant que je sache, il est impossible de modifier le type d'un module. Il faut le choisir lors de la création (ce que tu as fait). Il existe une astuce lorsque le type qu'on veut utiliser n'est pas disponible dans la liste déroulante lors de la création d'un QuickApp. Il faut choisir un type quelconque (approchant si possible), exporter le fichier fqa, modifier le type à la main dans un éditeur de texte, puis réimporter le fichier. 1
MAM78 Posté(e) le 1 novembre 2021 Signaler Posté(e) le 1 novembre 2021 MerciEnvoyé de mon iPhone en utilisant Tapatalk Pro
MAM78 Posté(e) le 1 novembre 2021 Signaler Posté(e) le 1 novembre 2021 @Lazer Mon onduleur à un problème de batteries, de temps en temps elles ne chargent plus et emmet des bips pendant un certain temps, je penses qu'elles sont HS. Le défaut batterie apparait bien dans l'historique des défauts. Je n'ai pas eu de notification par mail lors de ce type de problèmes. Seulement les notifications pour batterie faible. Actuellement elles sont à nouveau chargées, mais je ne sais pas quelle était la valeur de variable "UPS_BatteryStatus" au moment de la détection du problème, pas certain qu'elle avait une valeur désignant un problème. Comment est-ce qu'il faudrait procéder pour détecter le défaut de la batterie et éventuellement : obtenir une notification push/mail/sms ? changer l'état de la variable "UPS_BatteryStatus" à quelque chose comme "default battery" ?
Lazer Posté(e) le 1 novembre 2021 Auteur Signaler Posté(e) le 1 novembre 2021 Il faudrait trouver l'entrée dans l'arbre SNMP qui nous informe sur le défaut de batterie.... si cette entrée existe, ce qui n'est même pas sûr. Après ça sera simple d'émettre une notification ou mettre à jour n'importe quelle variable.
MAM78 Posté(e) le 1 novembre 2021 Signaler Posté(e) le 1 novembre 2021 De ce que j'ai pu trouver dans la documentation (en page 20 : ici http://pqsoftware.eaton.com/manual/mib/fra/mibagent.pdf) , ce serait UPS-MIB::upsAlarmBatteryBad Mais je n'ai pas trouvé les valeurs que peut prendre cette entrée. Est-ce un boolean ?
MAM78 Posté(e) le 1 novembre 2021 Signaler Posté(e) le 1 novembre 2021 j'ai trouvé également ça : upsWellKnownAlarms OBJECT IDENTIFIER ::= { upsAlarm 3 } upsAlarmBatteryBad OBJECT-IDENTITY STATUS current DESCRIPTION "One or more batteries have been determined to require replacement." ::= { upsWellKnownAlarms 1 }
Lazer Posté(e) le 1 novembre 2021 Auteur Signaler Posté(e) le 1 novembre 2021 Cette entrée upsAlarmBatteryBad n'est pas présente sur mon onduleur Tout ce que je trouve c'est : UPS-MIB::upsAlarmsPresent.0 = Gauge32: 0 C'est un compteur, et d'après la MIB : "The present number of active alarm conditions." => Donc moi je n'ai pas d'erreur, OK super. Mais pour l'instant je n'en sais pas plus...
Lazer Posté(e) le 1 novembre 2021 Auteur Signaler Posté(e) le 1 novembre 2021 Je viens de comprendre, upsAlarmBatteryBad est un TRAP, donc une trame spécifique (comme une notification push) envoyée vers un serveur capable de collecter les Traps SNMP et de les traiter (donc pas la box Fibaro). Typiquement Nagios, ou les outils dans ce genre là. http://pqsoftware.eaton.com/manual/mib/fra/mibagent.pdf Donc pas exploitable dans un cadre domotique.
MAM78 Posté(e) le 1 novembre 2021 Signaler Posté(e) le 1 novembre 2021 (modifié) J'ai essayé avec ça : QuickApp.VG = { -- Global Variables ["VG_BatteryStatus"] = "UPS_BatteryStatus", -- Battery stats : <string> (unknown|batteryNormal|batteryLow|batteryDepleted) ["VG_MinutesRemaining"] = "", -- Battery time left : <integer> (unit : minutes) ["VG_ChargeRemaining"] = "", -- Battery charge : <integer> (unit : %) ["VG_InputVoltage"] = "", -- UPS Main voltage : <integer> (unit : Volts) ["VG_OutputSource"] = "UPS_OutputSource", -- UPS output mode : <string> (other|none|normal|bypass|battery|booster|reducer) ["VG_BatteryBad"] = "UPS_BatteryBad", -- Battery bad : <string> (batteryNormal|batterybad) } QuickApp.MIB = { [1] = { name = "upsIdentModel", oid = "UPS-MIB::upsIdentModel.0", }, [2] = { name = "upsBatteryStatus", oid = "UPS-MIB::upsBatteryStatus.0", message = function(a) return QuickApp.upsBatteryStatuss[a or 1].emoji .. " Batterie " .. QuickApp.upsBatteryStatuss[a or 1].text end, vg = {name = "VG_BatteryStatus", value = function(a) return QuickApp.upsBatteryStatuss and QuickApp.upsBatteryStatuss[a or 1].value or "???" end}, notification = {"push", "email", "sms"}, }, [3] = { name = "upsSecondsOnBattery", oid = "UPS-MIB::upsSecondsOnBattery.0", }, [4] = { name = "upsEstimatedMinutesRemaining", oid = "UPS-MIB::upsEstimatedMinutesRemaining.0", vg = {name = "VG_MinutesRemaining", value = function(a) return a end}, child = {type = "com.fibaro.multilevelSensor", name = "Autonomie", property = "value", value = function(a) return a end, unit = "min"}, }, [5] = { name = "upsEstimatedChargeRemaining", oid = "UPS-MIB::upsEstimatedChargeRemaining.0", vg = {name = "VG_ChargeRemaining", value = function(a) return a end}, device = {property = "batteryLevel", value = function(a) return a end, interface = "battery"}, child = {type = "com.fibaro.multilevelSensor", name = "Charge", property = "value", value = function(a) return a end, unit = "%"}, }, [6] = { name = "upsInputVoltage", oid = "UPS-MIB::upsInputVoltage.1", vg = {name = "VG_InputVoltage", value = function(a) return a end}, child = {type = "com.fibaro.multilevelSensor", name = "Tension", property = "value", value = function(a) return a end, unit = "V"}, }, [7] = { name = "upsOutputSource", oid = "UPS-MIB::upsOutputSource.0", message = function(a) return QuickApp.upsOutputSources[a or 1].emoji .. " Sortie " .. QuickApp.upsOutputSources[a or 1].text end, vg = {name = "VG_OutputSource", value = function(a) return QuickApp.upsOutputSources[a or 1].value end}, device = {property = "value", value = function(a) return a ~= 3 and true or false end}, notification = {"push", "email", "sms"}, }, [8] = { name = "upsOutputPower", oid = "UPS-MIB::upsOutputPower.1", device = {property = "power", value = function(a) return a end, interface = "power"}, child = {type = "com.fibaro.powerSensor", name = "Consommation", property = "value", value = function(a) return a end, unit = "W"}, }, [9] = { name = "upsOutputPercentLoad", oid = "UPS-MIB::upsOutputPercentLoad.1", }, [10] = { name = "upsConfigOutputPower", oid = "UPS-MIB::upsConfigOutputPower.0", }, [11] = { name = "upsmgEnvironAmbientTemp", oid = "MG-SNMP-UPS-MIB::upsmgEnvironAmbientTemp.0", child = {type = "com.fibaro.temperatureSensor", name = "Température", property = "value", value = function(a) return a / 10 end}, }, [12] = { name = "upsmgEnvironAmbientHumidity", oid = "MG-SNMP-UPS-MIB::upsmgEnvironAmbientHumidity.0", child = {type = "com.fibaro.humiditySensor", name = "Humidité", property = "value", value = function(a) return a / 10 end}, }, [13] = { name = "upsAlarmBatteryBad", oid = "UPS-MIB::upsAlarmBatteryBad.0", message = function(a) return QuickApp.upsAlarmBatteryBads[a or 1].emoji .. " Batterie " .. upsAlarmBatteryBads[a or 1].text end, vg = {name = "VG_BatteryBad", value = function(a) return upsAlarmBatteryBads and upsAlarmBatteryBads[a or 1].value or "???" end}, notification = {"push", "email", "sms"}, }, } upsAlarmBatteryBads = { [1] = { value = "batteryNormal", emoji = "", text = "Normale"}, [2] = { value = "batteryBad", emoji = "", text = "Hors Service"} } QuickApp.upsBatteryStatuss = { [1] = { value = "unknown", emoji = "", text = "Inconnue"}, [2] = { value = "batteryNormal", emoji = "", text = "Normale"}, [3] = { value = "batteryLow", emoji = "", text = "Faible"}, [4] = { value = "batteryDepleted", emoji = "", text = "Vide"} } QuickApp.upsOutputSources = { [1] = { value = "other", emoji = "", text = "Autre"}, [2] = { value = "none", emoji = "", text = "Aucune"}, [3] = { value = "normal", emoji = "", text = "Normale"}, [4] = { value = "bypass", emoji = "", text = "Bypass"}, [5] = { value = "battery", emoji = "", text = "Batterie"}, [6] = { value = "booster", emoji = "", text = "Booster"}, [7] = { value = "reducer", emoji = "", text = "Réducteur"} } Mais la VG n'a pas été créée pour le moment. est-ce qu'elle le sera qu'au moment ou une trame sera détectée ? Je ne suis pas certain du tout de ce que j'ai indiqué dans le tableau "upsAlarmBatteryBads", j'ignore ce qui est remonté comme info sur cette entrée. Je pensais que ton QuickApp faisait des TRAP SNMP ? Modifié le 1 novembre 2021 par MAM78
MAM78 Posté(e) le 1 novembre 2021 Signaler Posté(e) le 1 novembre 2021 Je viens de voir : Fait du polling à intervalle régulier, ne supporte pas les Traps SNMP.
Lazer Posté(e) le 1 novembre 2021 Auteur Signaler Posté(e) le 1 novembre 2021 Voilà, c'est bien pour cela que j'indique dans mon message précédent qu'il faut un gestionnaire externe, comme Nagios (le plus connu). On sort complètement du cadre domotique, c'est de la supervision informatique.
MAM78 Posté(e) le 1 novembre 2021 Signaler Posté(e) le 1 novembre 2021 (modifié) et pour toi : upsTestQuickBatteryTest c'est du même acabit, c'est du trap SNMP ou est-ce qu'il est possible d'avoir une valeur de retour ? Je n'ai pas trouvé d'indication sur le code retour ? Hormis ça : upsTestQuickBatteryTest OBJECT-IDENTITY STATUS current DESCRIPTION "A test that is sufficient to determine if the battery needs replacement." ::= { upsWellKnownTests 4 } Modifié le 1 novembre 2021 par MAM78
MAM78 Posté(e) le 1 novembre 2021 Signaler Posté(e) le 1 novembre 2021 Sur l'écran de l'onduleur, il est possible de lancer le test qui dure environ 15 secondes. Mais je ne saisi pas s'il y a une incidence sur l'alimentation des équipements raccordés durant le test et si c'est très bons d'en lancer régulièrement ?
Lazer Posté(e) le 1 novembre 2021 Auteur Signaler Posté(e) le 1 novembre 2021 Là je ne sais pas, j'ai fait une rapide recherche mais je ne trouve rien non plus au sujet de ces tests. Cela dit, je pense que tu fais fausse route, tu te prends la tête pour rien. L'objectif de ce QuickApp est de remonter l'état de l'onduleur (coupure secteur, fonctionnement sur batterie, etc), cela afin de pouvoir déclencher des scénarios que ne sait pas faire l'onduleur tout seul (extinction des équipements, notification par SMS ou par Push sur l'appli mobile, etc) L'administration de l'onduleur, en tant qu'équipement électronique, devrait être autonome. Tu peux configurer l'envoi d'emails sur l'onduleur, et c'est lui qui t'informera en direct en cas de problème technique (batterie à remplacer, ou toute autre chose). Cela indépendamment de la domotique.
MAM78 Posté(e) le 1 novembre 2021 Signaler Posté(e) le 1 novembre 2021 Ok la réponse me convient, je vais suivre si mes problèmes de batteries vont continuer et les remplacer le cas échant. Je vais regarder cette possibilité de notification sur l'onduleur directement.
Lazer Posté(e) le 1 novembre 2021 Auteur Signaler Posté(e) le 1 novembre 2021 C'est mieux oui. Il te faudra utiliser le serveur SMTP de ton fournisseur d'accès à Internet. Je n'ai jamais testé les fonctions d'autotest de la batterie, mais je sais que l'onduleur fait certains tests tout seul, une fois de temps en temps, car je reçois une notification par email de bascule sur batterie pendant 1 seconde. De même que le Module Virtuel et le QuickApp qui relèvent également information, ce qui ne manque pas de me faire sursauter à chaque fois que je reçois cette notification.... qui est donc une fausse alerte.
MAM78 Posté(e) le 1 novembre 2021 Signaler Posté(e) le 1 novembre 2021 (modifié) J'ai une capteur EMP de température et humidité sur mon Onduleur. Aurais-tu déjà intégré ses 2 entrées binaires comme des Binary Switch dans ton Quick App ? Cf. Doc : http://lit.powerware.com/ll_download.asp?file=EMPManual1502A.pdf Modifié le 1 novembre 2021 par MAM78
Lazer Posté(e) le 1 novembre 2021 Auteur Signaler Posté(e) le 1 novembre 2021 Non jamais car je ne les exploite pas. Tu en as besoin ? Je pourrais éventuellement l'ajouter plus tard... un jour quand j'aurai le temps, avec quelques bricoles que j'ai déjà sur ma toto-list pour ce QA. Apparemment il s'agit de upsmgEnvironmentInput1State et upsmgEnvironmentInput2State accessibles sur 1.3.6.1.4.1.705.1.8.7.1.9 et 1.3.6.1.4.1.705.1.8.7.1.10 respectivement : (j'écris ces infos ici même si ça ne parle à personne, juste parce que me servira de bloc note quand je m'y remettrai) upsmgEnvironmentInput1State OBJECT-TYPE SYNTAX INTEGER { closed(1), open(2) } ACCESS read-only STATUS mandatory DESCRIPTION "State of Input#1 : closed(1), open(2)." ::= { upsmgEnvironmentSensorEntry 9 } upsmgEnvironmentInput2State OBJECT-TYPE SYNTAX INTEGER { closed(1), open(2) } ACCESS read-only STATUS mandatory DESCRIPTION "State of Input#2 : closed(1), open(2)." ::= { upsmgEnvironmentSensorEntry 10 }
MAM78 Posté(e) le 1 novembre 2021 Signaler Posté(e) le 1 novembre 2021 je vais essayer de le configurer. Ca pourrait être utilisé pour détecter l'ouverture de porte d'armoire informatique.
Messages recommandés