MRP N3 — Suivi OEE/TRS Temps Réel (IoT Industriel, Odoo Community)
Suivi OEE/TRS Odoo Community : événements machine (IoT industriel) reçus par webhook générique, TRS calculé en temps réel par centre de charge, avec historique horaire
Schermafbeeldingen
-
MRP N3 — Suivi OEE/TRS Temps Réel (IoT Industriel, Odoo Community) — capture 1 -
MRP N3 — Suivi OEE/TRS Temps Réel (IoT Industriel, Odoo Community) — capture 2 -
MRP N3 — Suivi OEE/TRS Temps Réel (IoT Industriel, Odoo Community) — capture 3 -
MRP N3 — Suivi OEE/TRS Temps Réel (IoT Industriel, Odoo Community) — capture 4 -
MRP N3 — Suivi OEE/TRS Temps Réel (IoT Industriel, Odoo Community) — capture 5
Suivi OEE/TRS temps réel
Le TRS se calcule encore à la main, en fin de poste, sur un relevé papier — le temps qu'il remonte, la panne du matin est déjà oubliée.
Le module Fabrication d'Odoo Community suit vos ordres de fabrication, mais ne reçoit aucun événement machine : ni démarrage, ni arrêt, ni pièce rebutée. Le TRS (Taux de Rendement Synthétique) reste un chiffre de fin de poste, reconstitué à la main — trop tard pour réagir à un arrêt qui traîne ou une dérive de qualité en cours de production.
Suivi OEE/TRS temps réel reçoit ces événements machine par un webhook générique et calcule le TRS en continu, centre de charge par centre de charge. Important : cette app n'embarque aucun client OPC-UA ni MQTT — Odoo n'a pas de processus démon persistant pour tenir ce type de connexion ouverte. Un pont externe installé côté atelier (petit script Python, flux Node-RED, ou passerelle OPC-UA/MQTT-vers-HTTP du marché) relaie les événements vers ce webhook : un choix assumé et documenté, pas un compromis caché.
Sur l'atelier de démonstration : la Presse à injecter P1 affiche un TRS de 38,38 % à partir de ses 20 événements machine simulés sur la journée — Disponibilité 58,99 %, Performance 67,13 %, Qualité 96,91 %. La Ligne d'assemblage A2 est à 39,39 %, le Poste de soudure S3 à 25,44 % : trois centres de charge, trois chiffres réels, recalculés à l'ouverture de la page.
Chaque événement, horodaté — jamais résumé, jamais perdu
Un jeton unique par centre de charge, un seul point d'entrée HTTP :
POST /mrp_iot/event/<jeton>. Cinq types d'événements — démarrage, arrêt,
pièce bonne, pièce rebutée, panne — avec une cause d'arrêt en texte libre transmise par le
pont externe. Réponse 404 si le jeton est inconnu, 400 si le payload JSON, le type
d'événement, la quantité ou l'horodatage sont invalides, 200 sinon.
Chaque événement est conservé avec son payload JSON brut intégral, pour audit. Sur l'atelier de démonstration : 54 événements simulés aujourd'hui, répartis sur les trois centres de charge du scénario, dont deux pannes (« Défaut capteur position axe X ») et deux arrêts de fin de poste.
Ce que fait Suivi OEE/TRS temps réel, concrètement
- Webhook générique sécurisé par jeton, un jeton unique par centre de charge, régénérable en un clic.
- Cinq types d'événements machine : démarrage, arrêt, pièce bonne, pièce rebutée, panne, avec cause d'arrêt en texte libre.
- Chaque événement stocké avec son payload JSON brut, pour audit.
- TRS temps réel par centre de charge (Disponibilité × Performance × Qualité), sur la journée en cours ou en 24 heures glissantes, au choix.
- Temps de cycle théorique réglable par centre de charge, ou par produit lorsqu'il varie d'une référence à l'autre.
- Historique horaire automatique (tâche planifiée), consultable en liste, tableau croisé et graphique.
- Déclenchement automatique optionnel (désactivé par défaut) des ordres de travail sur événement démarrage/arrêt univoque.
Compatible avec / Prérequis
Compatible avec : Odoo 20 Community. S'installe par-dessus le module
Fabrication (mrp) standard — cette application ne pilote directement aucun
protocole machine (OPC-UA, MQTT) : elle expose un webhook HTTP générique pour la
remontée d'événements IoT industriel, à relier à votre passerelle existante ou à un
petit script pont (voir le README pour un exemple).
Dépend du socle technique gratuit dyo_mrp_common (installé automatiquement) :
c'est la brique commune, sans menu propre, que partagent toutes les applications MRP
DYONYSOS.
Elle ne fait ni ordonnancement de production ni GMAO : elle se concentre sur la remontée d'événements machine et le calcul du TRS. Démonstration prête à l'emploi : trois centres de charge avec un historique d'événements simulé sur la journée en cours.
Le TRS décomposé, jamais une boîte noire
Sur la fiche de chaque centre de charge, l'onglet « IoT / OEE (DYONYSOS) » affiche les trois facteurs et leur produit : Disponibilité (temps de fonctionnement réel / temps d'ouverture de la période observée), Performance (pièces produites × temps de cycle théorique / temps de fonctionnement réel), Qualité (pièces bonnes / total des pièces produites, bonnes et rebutées). Le temps de cycle théorique se règle par centre de charge, ou par produit quand il varie d'une référence à l'autre.
Performance et TRS ne sont volontairement pas plafonnés à 100 % : un résultat supérieur signale le plus souvent un temps de cycle mal réglé, pas une anomalie de calcul — le masquer en le plafonnant serait trompeur. Juste en dessous, l'historique des instantanés horaires (tâche planifiée) permet de voir l'évolution heure par heure, pas seulement l'instant présent.
Pas de tableau Excel à tenir à jour, pas de relevé papier à ressaisir en fin de poste. Un webhook simple à brancher, un TRS recalculé en continu, un historique qui s'écrit tout seul — vérifié par 39 tests automatisés, en français de bout en bout.
Licence OPL-1 — DYONYSOS — https://dyonysos.fr — welcome@dyonysos.fr
Chez l'éditeur
DYONYSOS édite des applications Odoo 19 Community. La présentation détaillée de celle-ci, le catalogue complet et le support sont sur notre site.
Présentation de dyo mrp iot · Toutes les applications · Support et devis
Découvrir les applications Dyonysos en vidéo
Démonstrations courtes, cas d'usage et nouveautés Odoo 20.
Wat deze app niet doet
De uitgever heeft nog niet gepubliceerd wat de applicatie niet doet. Dat is een regel van de appstore: vraag het aan de support voordat u zich verbindt.
Vereiste applicaties van de appstore
- MRP DYONYSOS — Socle technique
dyo_mrp_common
Gebruikte Odoo Community-modules
mrp
| Serie | Versie | Status | Gepubliceerd op |
|---|---|---|---|
| 20.0 | 20.0.1.1.0 | Beschikbaar | 28-09-2026 |
| 19.0 | 19.0.1.1.0 | Beschikbaar |
Fiche gegenereerd uit de code van de uitgever (privé-repository, branch 20.0): de broncode is niet gepubliceerd.
Automatische controle van de appstore (los van de uitgever), toegepast op alle applicaties. Conforme.
| Controle | Resultaat | Effect indien afwezig |
|---|---|---|
| Manifeste lisible sans exécution | conforme | bloquant |
| Licence reconnue (OPL-1) | conforme | bloquant |
| Aucune dépendance vers Odoo Enterprise | conforme | bloquant |
| Aucun import de code Enterprise | conforme | bloquant |
| Aucun en-tête de licence Enterprise | conforme | bloquant |
| Icône static/description/icon.png | conforme | déclasse |
| Description (static/description/index.html ou README) | conforme | déclasse |
| Tests automatisés (tests/test_*.py) | conforme | déclasse |
| Traduction française (i18n/fr.po) | absent | info |
| Section « Ce que le module ne fait pas » | absent | info |
| Titre de 70 caractères au plus (66 actuellement) | conforme | info |
| Résumé en français | conforme | info |
Guide utilisateur — Suivi OEE/TRS temps réel
1. Générer le jeton d'un centre de charge
Fiche centre de charge (Fabrication → Centres de charge) → section IoT — DYONYSOS. Le jeton est créé automatiquement ; il n'est visible que des responsables fabrication (masqué, bouton Régénérer le jeton en cas de fuite). Cochez Signature HMAC obligatoire pour refuser tout message non signé.
2. Renseigner le temps de cycle théorique
Toujours sur l'onglet IoT DYONYSOS, indiquez le temps de cycle théorique (en minutes) utilisé pour calculer la Performance du TRS.
3. Envoyer des événements
Depuis un pont externe (petit script Python, Node-RED, passerelle OPC-UA/MQTT-vers-HTTP), envoyez
une requête POST vers https://votre-odoo/mrp_iot/event, le jeton dans l'en-tête
X-Dyo-Iot-Token (jamais dans l'URL), avec un JSON contenant event_type (start, stop,
finish, good, reject, fault), timestamp (ISO 8601), quantity pour good/reject,
et de préférence un message_id unique : un message renvoyé avec le même message_id n'est
compté qu'une fois. Exemple en Python, avec signature :
import hashlib, hmac, json, requests
TOKEN = "VOTRE-JETON"
body = json.dumps({"event_type": "good", "quantity": 1, "message_id": "presse2-000123",
"timestamp": "2026-09-27T08:15:00Z"}).encode()
signature = "sha256=" + hmac.new(TOKEN.encode(), body, hashlib.sha256).hexdigest()
requests.post("https://votre-odoo/mrp_iot/event", data=body, headers={
"Content-Type": "application/json",
"X-Dyo-Iot-Token": TOKEN,
"X-Dyo-Iot-Signature": signature,
})
Réponses : 200 (accepté ; "duplicate": true pour un message déjà reçu), 400 (JSON invalide,
NaN/Infinity, type inconnu, quantité invalide, horodatage invalide, périmé ou dans le futur),
401 (jeton absent ou signature fausse), 404 (jeton inconnu), 410 (jeton dans l'URL : ancienne
forme désactivée), 413 (message trop gros), 429 (débit dépassé). Les bornes se règlent par
paramètres système : dyo_mrp_iot.max_payload_bytes (16384), dyo_mrp_iot.max_events_per_minute
(600), dyo_mrp_iot.max_age_seconds (7 jours), dyo_mrp_iot.max_future_seconds (300),
dyo_mrp_iot.max_quantity (1 000 000). L'ancienne URL /mrp_iot/event/<jeton> ne se réactive
qu'explicitement (dyo_mrp_iot.allow_token_in_url = True), déconseillé.
Mise à jour depuis la version 19.0.1.0.0 (à faire sur chaque pont)
- Envoyer le jeton dans l'en-tête
X-Dyo-Iot-Tokenvers/mrp_iot/event(l'ancienne URL répond 410). - Envoyer
finishpour terminer un ordre de travail :stopsignifie désormais « arrêt machine » et met en pause sans terminer. Réactiver l'ancienne URL ne rétablit pas l'ancien sens destop. - Ajouter un
message_idunique : sansmessage_idnitimestamp, un message renvoyé est compté deux fois. Le débit maximal est une borne indicative, pas une garantie stricte.
4. Suivre le TRS en direct
Menu IoT DYONYSOS → Tableau de bord, par centre de charge : TRS actuel, décomposition Disponibilité / Performance / Qualité, historique des derniers jours.
5. Déclenchement automatique (optionnel)
Sur l'onglet IoT DYONYSOS du centre de charge, activez « Déclenchement automatique » pour
qu'un événement référençant un ordre de travail univoque agisse tout seul : start le démarre
(ou le reprend), stop (arrêt machine) le met en pause sans jamais le terminer, finish le
termine. En cas d'ambiguïté (plusieurs ordres possibles), rien ne se déclenche automatiquement — un
avertissement est journalisé.
Licence OPL-1 — DYONYSOS — https://dyonysos.fr — welcome@dyonysos.fr
Beoordelingen van ingelogde klanten. Eén beoordeling per klant; de uitgever kan erop reageren. Log in om een beoordeling te plaatsen.
- Uitgever
- DYONYSOS
- contact@omnifloo.com
- Omnifloo-klanten
- Support inbegrepen volgens uw formule: helpcentrum.