Open Micka41 opened 3 years ago
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 :
je vois pour forker ton repo et te proposer une implémentation dès que j'ai le temps.
@++
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.
à 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
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
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?
@Domochip : dans certain cas on peut avoir 10 pour 10% ou 0.10
@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%
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é
Remonté de la batterie dans Analyse->Equipements