Skip to content

Commit dbf6030

Browse files
committed
Correction score detect
1 parent 24c701b commit dbf6030

File tree

2 files changed

+34
-18
lines changed

2 files changed

+34
-18
lines changed

core/class/frigate.class.php

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2023,10 +2023,10 @@ public static function updateTrackedObjects($trackedObjects)
20232023
log::add(__CLASS__, 'debug', "║ Données reçues : " . json_encode($trackedObjects));
20242024

20252025
// Création / Mise à jour de la base de données
2026-
self::updateDatabase($frigateEvent, $type, $trackedObjects);
2026+
$frigateEvent = self::updateDatabase($frigateEvent, $type, $trackedObjects);
20272027

20282028
// Création / mise à jour des commandes Jeedom
2029-
self::updateCommands($eqlogicId, $type, $trackedObjects);
2029+
self::updateCommands($eqlogicId, $type, $frigateEvent);
20302030

20312031
log::add(__CLASS__, 'debug', "╚════════════════════════ END UPDATE TRACKED OBJECTS ═══════════════════");
20322032
}
@@ -2052,25 +2052,37 @@ private static function updateDatabase($frigateEvent, $type, $trackedObjects)
20522052
log::add(__CLASS__, 'debug', "║ MAJ DB → Reconnaissance faciale");
20532053
$frigateEvent->setRecognition_type("face");
20542054
$frigateEvent->setRecognition_name($trackedObjects['name'] ?? '');
2055-
$frigateEvent->setRecognition_score($trackedObjects['score'] ?? '');
2055+
// le score doit etre multiplié par 100 pour être en pourcentage
2056+
$score = $trackedObjects['score'] ?? '';
2057+
if (is_numeric($score)) {
2058+
$score = round($score * 100, 2);
2059+
}
2060+
$frigateEvent->setRecognition_score($score);
2061+
20562062
break;
20572063

20582064
case "lpr":
20592065
log::add(__CLASS__, 'debug', "║ MAJ DB → Plaque d’immatriculation");
20602066
$frigateEvent->setRecognition_type("lpr");
20612067
$frigateEvent->setRecognition_plate($trackedObjects['plate'] ?? '');
20622068
$frigateEvent->setRecognition_name($trackedObjects['name'] ?? '');
2063-
$frigateEvent->setRecognition_score($trackedObjects['score'] ?? '');
2069+
// le score doit etre multiplié par 100 pour être en pourcentage
2070+
$score = $trackedObjects['score'] ?? '';
2071+
if (is_numeric($score)) {
2072+
$score = round($score * 100, 2);
2073+
}
2074+
$frigateEvent->setRecognition_score($score);
20642075
break;
20652076

20662077
default:
20672078
log::add(__CLASS__, 'debug', "║ Type de suivi inconnu : $type");
2068-
return;
2079+
return null;
20692080
}
20702081

20712082
$frigateEvent->save();
2083+
return $frigateEvent;
20722084
}
2073-
private static function updateCommands($eqlogicId, $type, $trackedObjects)
2085+
private static function updateCommands($eqlogicId, $type, $frigateEvent)
20742086
{
20752087
log::add(__CLASS__, 'debug', "║ MAJ Commandes pour le type : $type");
20762088

@@ -2084,36 +2096,36 @@ private static function updateCommands($eqlogicId, $type, $trackedObjects)
20842096
case "description":
20852097
$cmd = self::createCmd($eqlogicId, "description", "string", "", "info_description", "", 0, null, 0);
20862098
$cmd->save();
2087-
$cmd->event($trackedObjects['description'] ?? '');
2099+
$cmd->event($frigateEvent->getRecognition_description() ?? '');
20882100
$cmd->save();
20892101
break;
20902102

20912103
case "face":
2092-
$cmd = self::createCmd($eqlogicId, "Nom", "string", "", "info_detection_name", "", 0, null, 0);
2104+
$cmd = self::createCmd($eqlogicId, "Nom de la reconnaissance", "string", "", "info_detection_name", "", 0, null, 0);
20932105
$cmd->save();
2094-
$cmd->event($trackedObjects['name'] ?? '');
2106+
$cmd->event($frigateEvent->getRecognition_name() ?? '');
20952107
$cmd->save();
20962108

2097-
$cmd = self::createCmd($eqlogicId, "Score de detection", "numeric", "%", "info_detection_score", "", 0, null, 0);
2109+
$cmd = self::createCmd($eqlogicId, "Score de la reconnaissance", "numeric", "%", "info_detection_score", "", 0, null, 0);
20982110
$cmd->save();
2099-
$cmd->event($trackedObjects['score'] ?? '');
2111+
$cmd->event($frigateEvent->getRecognition_score() ?? '');
21002112
$cmd->save();
21012113
break;
21022114

21032115
case "lpr":
21042116
$cmd = self::createCmd($eqlogicId, "Plaque d'immatriculation", "string", "", "info_plate", "", 0, null, 0);
21052117
$cmd->save();
2106-
$cmd->event($trackedObjects['plate'] ?? '');
2118+
$cmd->event($frigateEvent->getRecognition_plate() ?? '');
21072119
$cmd->save();
21082120

2109-
$cmd = self::createCmd($eqlogicId, "Nom", "string", "", "info_detection_name", "", 0, null, 0);
2121+
$cmd = self::createCmd($eqlogicId, "Nom de la reconnaissance", "string", "", "info_detection_name", "", 0, null, 0);
21102122
$cmd->save();
2111-
$cmd->event($trackedObjects['name'] ?? '');
2123+
$cmd->event($frigateEvent->getRecognition_name() ?? '');
21122124
$cmd->save();
21132125

2114-
$cmd = self::createCmd($eqlogicId, "Score de detection", "numeric", "%", "info_detection_score", "", 0, null, 0);
2126+
$cmd = self::createCmd($eqlogicId, "Score de la reconnaissance", "numeric", "%", "info_detection_score", "", 0, null, 0);
21152127
$cmd->save();
2116-
$cmd->event($trackedObjects['score'] ?? '');
2128+
$cmd->event($frigateEvent->getRecognition_score() ?? '');
21172129
$cmd->save();
21182130
break;
21192131
}

docs/fr_FR/index.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,16 @@ Le plugin et le support sont gratuits, vous souhaitez néanmoins m'offrir un caf
99
- Community Jeedom
1010
- Discord JeeMate
1111

12-
Pour toute demande d'aide sur Community ou Discord, merci de fournir le maximum d'informations possibles.
12+
Pour toute demande d'aide sur Community ou Discord, merci de fournir le maximum d'informations possibles. (matériel, type de caméra, version de Jeedom, de Frigate, de votre système, etc...)
1313

1414
Sur la page configuration, le bouton assistance permet déjà d'en remplir automatiquement certaines.
1515

16-
Donner aussi des logs en mode debug.
16+
Assurer vous d'avoir le matériel compatible pour Frigate et que ce dernier fonctionne correctement avant de demander de l'aide sur le plugin. (voir la documentation officielle de Frigate pour les configurations matérielle recommandées).
17+
18+
Donner aussi des logs en mode debug. (ceux du plugin et du serveur Frigate).
19+
1720
Aucun support ne sera apporté sur d'autres moyens de communication que ceux-ci.
21+
1822
Merci
1923

2024

0 commit comments

Comments
 (0)