Ir al contenido

MRP N3 — Suivi OEE/TRS Temps Réel

Un webhook générique sécurisé par jeton, pas un client OPC-UA ou MQTT dans Odoo
7 de septiembre de 2026 por
MRP N3 — Suivi OEE/TRS Temps Réel
DYONYSOS

Suivre la performance industrielle (OEE / TRS) suppose normalement de connecter Odoo aux automates de l'atelier. MRP N3 — Suivi OEE/TRS Temps Réel le fait sans embarquer le moindre client OPC-UA ou MQTT dans Odoo — un choix assumé et documenté, pas un compromis caché, appliqué au même principe déjà utilisé par DYONYSOS sur d'autres connecteurs (Bank Sync, Click to Call, Social Marketing, d'après le manifeste).

Ce que l'app fait, et ce qu'elle ne fait pas

Le manifeste le dit sans détour : un module Odoo classique n'a pas de processus démon persistant, il ne peut donc pas maintenir une connexion OPC-UA ou MQTT ouverte vers un automate. L'application expose à la place un webhook HTTP générique, sécurisé par un jeton propre à chaque centre de charge (généré automatiquement, régénérable en un clic). Côté atelier, c'est un pont externe — petit script Python, flux Node-RED, ou passerelle OPC-UA/MQTT-vers-HTTP du marché — qui relaie les événements des automates vers ce webhook.

Un webhook simple, un événement toujours conservé

La route POST /mrp_iot/event/<jeton> reçoit un JSON générique décrivant le type d'événement, un horodatage, une cause d'arrêt libre et une quantité. Elle répond 404 si le jeton est inconnu, 400 si le payload est invalide, 200 sinon. Chaque événement reçu est stocké intégralement, pour audit, dans le nouveau modèle dyo.mrp.iot.event — rien n'est perdu, même un événement mal formé côté métier reste tracé s'il passe la validation du payload.

OEE/TRS calculé en temps réel, historique horaire

Pour chaque centre de charge, le TRS se décompose en trois facteurs calculés à partir des événements reçus : la Disponibilité (temps de fonctionnement réel rapporté au temps d'ouverture de la période observée, déduit des événements démarrage/arrêt/panne), la Performance (pièces produites multipliées par le temps de cycle théorique, rapportées au temps de fonctionnement réel — le temps de cycle étant configurable sur le centre de charge ou sur le produit en cours) et la Qualité (pièces bonnes rapportées à la somme des pièces bonnes et rebutées). Le TRS est le produit des trois facteurs. Un instantané horaire (cron) vient compléter le calcul à la volée du tableau de bord « maintenant », pour un graphique des derniers jours par centre de charge.

Déclenchement automatique optionnel

Une option, désactivée par défaut et réglable centre de charge par centre de charge, permet à un événement « démarrage » de démarrer automatiquement l'ordre de travail en attente sur ce centre s'il est univoque (ou référencé sans ambiguïté dans le payload), et à un événement « arrêt » de le clôturer de la même façon. En cas d'ambiguïté, le module n'entreprend aucune action et journalise un avertissement plutôt que de deviner.

Données de démonstration, dépendances

Les données de démonstration mettent en scène trois centres de charge fictifs avec un historique d'événements simulé sur la journée en cours. Le module dépend uniquement du socle gratuit dyo_mrp_common et du module Fabrication (mrp) standard d'Odoo, avec un hook d'initialisation dédié (_dyo_mrp_iot_post_init).

Questions fréquentes

Les réponses aux questions que l'on nous pose le plus souvent sur ce sujet.

Non. Il expose un webhook HTTP générique ; c'est un pont externe (script, Node-RED, passerelle du marché) qui doit relayer les événements de vos automates vers ce webhook. Aucun client OPC-UA ou MQTT n'est embarqué dans Odoo.

Le jeton est régénérable en un clic depuis la fiche du centre de charge ; tant qu'il n'est pas régénéré, un jeton connu permet d'envoyer des événements pour ce centre.

Le calcul dépend des événements reçus par le webhook : sans pont externe qui envoie des événements machine réels, aucun TRS significatif ne peut être calculé. Les données de démonstration simulent ces événements pour tester le module.

Un payload invalide renvoie une erreur 400 et n'est pas enregistré. Un événement valide, même inattendu métier, est conservé intégralement pour audit dans le modèle dédié.

MRP N3 — Suivi OEE/TRS Temps Réel assume une limite technique réelle d'Odoo (pas de démon persistant) plutôt que de la contourner par une promesse intenable : le webhook générique et le pont externe documenté permettent de connecter un atelier réel, à condition d'accepter cette architecture.

Prix, licence et conditions : voir la fiche de l’application dans la boutique

Voir la fiche sur l'Odoo Apps Store

MRP N3 — Ordonnancement APS
Un algorithme heuristique documenté, des scénarios sans risque et une application maîtrisée en deux clics