Retour incident Equipements orphelins: Résolution

Bonjour

Hier soir à 19H26 plus de remontées d’information sur mes équipements, le log jMqtt indique:

0000|[2025-03-10 19:26:06] ERROR  : jMQTTComFromDaemon::msgIn() a levé l'Exception: L'équipement n'est pas de type Broker (id=540)
0001|[2025-03-10 19:26:10] ERROR  : jMQTTComFromDaemon::msgIn() a levé l'Exception: L'équipement n'est pas de type Broker (id=540)
0002|[2025-03-10 19:26:10] ERROR  : jMQTTComFromDaemon::msgIn() a levé l'Exception: L'équipement n'est pas de type Broker (id=540)
0003|[2025-03-10 19:26:10] ERROR  : jMQTTComFromDaemon::msgIn() a levé l'Exception: L'équipement n'est pas de type Broker (id=540)
0004|[2025-03-10 19:26:16] ERROR  : jMQTTComFromDaemon::msgIn() a levé l'Exception: L'équipement n'est pas de type Broker (id=540)
0005|[2025-03-10 19:26:16] ERROR  : jMQTTComFromDaemon::msgIn() a levé l'Exception: L'équipement n'est pas de type Broker (id=540)
0006|[2025-03-10 19:26:20] ERROR  : jMQTTComFromDaemon::msgIn() a levé l'Exception: L'équipement n'est pas de type Broker (id=540)
0007|[2025-03-10 19:26:22] ERROR  : jMQTTComFromDaemon::msgIn() a levé l'Exception: L'équipement n'est pas de type Broker (id=540)
0008|[2025-03-10 19:26:22] ERROR  : jMQTTComFromDaemon::msgIn() a levé l'Exception: L'équipement n'est pas de type Broker (id=540)
0009|[2025-03-10 19:26:26] ERROR  : jMQTTComFromDaemon::msgIn() a levé l'Exception: L'équipement n'est pas de type Broker (id=540)
0010|[2025-03-10 19:26:26] ERROR  : jMQTTComFromDaemon::msgIn() a levé l'Exception: L'équipement n'est pas de type Broker (id=540)
0011|[2025-03-10 19:26:27] ERROR  : jMQTTComFromDaemon::msgIn() a levé l'Exception: L'équipement n'est pas de type Broker (id=540)
0012|[2025-03-10 19:26:27] ERROR  : jMQTTComFromDaemon::msgIn() a levé l'Exception: L'équipement n'est pas de type Broker (id=540)
0013|[2025-03-10 19:26:30] ERROR  : jMQTTComFromDaemon::msgIn() a levé l'Exception: L'équipement n'est pas de type Broker (id=540)
0014|[2025-03-10 19:26:31] ERROR  : jMQTTComFromDaemon::msgIn() a levé l'Exception: L'équipement n'est pas de type Broker (id=540)
0015|[2025-03-10 19:26:35] ERROR  : jMQTTComFromDaemon::msgIn() a levé l'Exception: L'équipement n'est pas de type Broker (id=540)

Dans l’outil recherche: recherche sur l’ID 540:

2 équipements ont le même identifiant, mon serveur mqtt et une commande du plugin scan_ip que j’avais désactivée depuis pas mal de temps.

Dans la page des équipements, tous les équipements était notés orphelins.

Résolution:
1- suppression du plugin scan_ip
2- création d’un nouveau broker avec les mêmes paramètres que l’ancien
3- basculement de tous les équipements dans le nouveau broker
4- redémarrage du deamon jMQTT

contexte:

Conclusion:
1- Je n’ai pas trouvé la cause de la création de 2 éléments avec le même ID 540 dans la base de données. J’ai fait une vérification de la Bde avant toute modification c’était OK. Je fais des sauvegardes de la VM Promox en snapshot, peut être la cause, je ferais les sauvegardes VM arrétée. Je n’incrimine aucun des 2 plugins.

2- La leçon a retenir: Je ne sais pas si la résolution effectuée est la plus propre. Si j’avais fait une sauvegarde de la configuration et des équipements, fonctionnalité découverte hier soir, il aurait été plus simple de réinstaller le plugin et de restaurer la sauvegarde.

3- Je dois saluer la souplesse de ce plugin permettant de basculer un équipement d’un broker à un autre

1 « J'aime »

Hello,

La question est vraiment de savoir pourquoi un équipement avec le même ID est soudainement apparu sur ton installation.

Les 2 existaient avant la réactivation de l’équipement scan_ip ?

Bad

Non je n’ai pas réactivé scan_ip, je ne comprend pas ce qui c’est passé.
Tout va bien depuis hier soir.

Bonsoir,

Ne pas confondre, il y a bien 2 ID identiques, mais un est un équipement et l’autre une commande, donc rien d’anormale ici.

C’est juste le bonheur, j’ai migré tranquillement ma prod sur un RPI5 a mon rythme grâce a cette possibilité.
Merci @Bad pour ce plugin :wink:.

1 « J'aime »

Bonsoir

Je ne suis pas spécialiste, mais le log du plugin jMQTT a généré cette erreur. Ou alors les paramètres du broker étaient erronées dans la base de de données.

Cordialement

Je pense que l’équipement a perdu son paramètre Type, ce paramètre permet au plugin de différencier un équipement d’un broker, mais je me trompe peut-être.

1 « J'aime »

Dans tous les cas, il est strictement impossible que deux enregistrements de la même table (équipement/eqLogic) aient le même identifiant; c’est la clé primaire de la table.

Bonsoir @echo ,

Est-ce que par hasard tu afficherais pas le broker dans une vue ?

Bonsoir Phpvarious

Dans le plugin jmqtt, j’ai le broker suivant avec ses équipements:

Et j’affiche effectivement dans une vue l’état du broker :
image

A savoir que j’ai basculé les équipements qui appartenaient à l’équipement broker « Serveur MQTT » sur l’équipement broker « Serveur MQTT 2 », puis j’ai supprimer l’équipement broker « Serveur MQTT ».

Ok je pense que ton soucis colle avec ce post :

Je te déconseille de passer en Edition si tu affiche le broker dans la vue.

Et au cas ou pour éviter de tous refaire, lorsque le cas se présente, il suffit d’un petit bloc code pour tous remettre en ordre :

$id = 43; // id de l'equipement broker
$eqLogic = eqLogic::byId($id);
if(is_object($eqLogic)) {
  $eqLogic->setConfiguration('type', 'broker');
  $eqLogic->save();
}
1 « J'aime »

Oui, cela à l’air de coller effectivement avec ce post.

En plus c’est dans une vue de supervision réseau et VM que je modifie souvent.
Dans le cas où cela se reproduit je supprimerai l’équipement broker dans la vue concernée.

Je te remercie beaucoup pour le bloc code.

J’avais un petit doute quand j’ai fait mon post si c’était vraiment lié. Désolé, j’aurais du mettre le lien direct.

@Phpvarious : il n’y a que le type de modifié ? Les autres valeurs vont se remettre d’elles-mêmes ? (Info de configuration, paramètres du broker).

Les autres paramètres ne sont pas impactés, donc toujours en bdd.

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.