Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remonté de la batterie dans Analyse->Equipements #110

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Remonté de la batterie dans Analyse->Equipements #110

wants to merge 1 commit into from

Conversation

Micka41
Copy link

@Micka41 Micka41 commented Nov 26, 2020

Remonté de la batterie dans Analyse->Equipements

Remonté de la batterie dans Analyse->Equipements
@Domochip
Copy link

Domochip commented Dec 29, 2020

Intéréssant.
J'avais fait la même remarque sur le plugin MQTT de lunarok.
Par contre, le nom "Batterie" ne conviendra pas forcement à tout le monde.
Du coup, 2 idées :

  • mettre le nom "Batterie" dans un champ éditable de configuration du plugin ou du broker
  • comme le plugin Jeedom MQTT, ajouter un champs "Type de piles" à chaque équipement

je vois pour forker ton repo et te proposer une implémentation dès que j'ai le temps.

@++

@nechry
Copy link

nechry commented Jan 11, 2021

J'ai des équipements avec un info battery_ok qui retourne 1 ou 0 à savoir Ok ou Low qu'on peut interpréter comme 100 ou 10. Je fais un calcul sur valeur, mais ici avec le PR c'est la valeur brute avant le passage dans le cache de jeedom. donc ça ne fonctionne pas. J'ai donc étendue le PR avec un test supplémentaire:

 if ($this->getName() == "Batterie_ok") {
          $value = ($value == 1) ? 100 : 10;
          $this->getEqLogic()->batteryStatus($value, date('Y-m-d H:i:s'));
          $this->getEqLogic()->log('info', '-> Update battery status');
 }

J'ai encore d'autre équipement avec une valeur en pourcentage:

if ($this->getName() == "Batterie_percent") {
          $value = $value * 100;
          $this->getEqLogic()->batteryStatus($value, date('Y-m-d H:i:s'));
          $this->getEqLogic()->log('info', '-> Update battery status');
}

Du coup faudrait avoir 3 tests avec 3 possibles nom de commandes pour respecter cette convention.

@bdbogjoe
Copy link

bdbogjoe commented Jan 19, 2021

à mon avis mieux de récupérer le type générique BATTERY pour trouver la commande, et en fonction du type binary ou numeric on sait si c'est un pourcentage ou un ok

@nechry
Copy link

nechry commented Jan 21, 2021

oui l'idée est intéressante, en cas de numérique on doit juste différencier si on reçoit des centièmes ou en unité mais c'est simple

@Domochip
Copy link

Ca donne un truc comme ca :

    if ($this->getGeneric_type() == 'BATTERY') {
        if ($this->getSubType() == 'binary') {
            $this->getEqLogic()->batteryStatus($value ? 100 : 10);
        } else {
            $this->getEqLogic()->batteryStatus($value);
        }
        $this->getEqLogic()->log('info', '-> Update battery status');
    }

@nechry : que voulais-tu dire par différencier les centièmes ou les unités?

@nechry
Copy link

nechry commented Feb 28, 2021

@Domochip : dans certain cas on peut avoir 10 pour 10% ou 0.10

@nechry
Copy link

nechry commented Feb 28, 2021

@Domochip jeedom attend une valeur entre 0 et 100, faut multiplier par 10 si on a des centième.
il y aura par contre un possible overlape entre 1=>1% ou 1.00 pour 100%

@nechry
Copy link

nechry commented Jun 9, 2021

un dérivé de ce PR est inclue dans la dernière version du plugin et donne satisfaction selon mes premiers tests. Ce PR peut donc être fermé

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants