On_mqtt_message raised an Exception : Le nom de la commande ne peut pas être vide

Bonjour,
Je suis sous Jeedom V3.3.5 Buster sur NUC dédié Jeedom. Jmqtt à jour , V2022-01-31.
Depuis hiers, après l"inclusion d’un nouvel objet (esp8266 ) qui fonctionne parfaitement seulement j’ai une alarme réccurente:

[2022-02-02 20:05:01][ERROR] : on_mqtt_message raised an Exception : Le nom de la commande ne peut pas être vide :jMQTTCmd Object (     [_preSaveInformations:jMQTTCmd:private] =>      [id:protected] =>      [logicalId:protected] =>      [generic_type:protected] =>      [eqType:protected] => jMQTT     [name:protected] =>      [order:protected] =>      [type:protected] => info     [subType:protected] => string     [eqLogic_id:protected] => 4092     [isHistorized:protected] => 0     [unite:protected] =>      [configuration:protected] => Array         (             [topic] => 99-ESP_Easy/         )      [template:protected] =>      [display:protected] =>      [value:protected] =>      [isVisible:protected] => 1     [alert:protected] =>      [_collectDate:protected] =>      [_valueDate:protected] =>      [_eqLogic:protected] => jMQTT Object         (             [_preSaveInformations:jMQTT:private] =>              [_preRemoveInformations:jMQTT:private] =>              [_broker:jMQTT:private] =>              [_statusCmd:jMQTT:private] =>              [_log:jMQTT:private] =>              [id:protected] => 4092             [name:protected] => 99-ESP_Easy             [logicalId:protected] => 99-ESP_Easy/#             [generic_type:protected] =>              [object_id:protected] => 20             [eqType_name:protected] => jMQTT             [eqReal_id:protected] =>              [isVisible:protected] => 0             [isEnable:protected] => 1             [configuration:protected] => Array                 (                     [brkId] => 2841                     [createtime] => 2022-02-02 20:04:21                     [type] => eqpt                     [auto_add_cmd] => 1                     [Qos] => 0                     [updatetime] => 2022-02-02 20:05:01                 )              [timeout:protected] =>              [category:protected] => {"heating":"0","security":"0","energy":"0","light":"0","automatism":"0","multimedia":"0","default":"0"}             [display:protected] => {"showObjectNameOnview":1,"showObjectNameOndview":1,"showObjectNameOnmview":1,"height":"auto","width":"auto","layout::dashboard::table::parameters":{"center":1,"styletd":"padding:3px;"},"layout::mobile::table::parameters":{"center":1,"styletd":"padding:3px;"},"layout::dashboard::table::cmd::28618::line":1,"layout::dashboard::table::cmd::28618::column":1,"layout::dashboard::table::cmd::28617::line":1,"layout::dashboard::table::cmd::28617::column":1,"layout::dashboard::table::cmd::28619::line":1,"layout::dashboard::table::cmd::28619::column":1,"layout::dashboard::table::cmd::28620::line":1,"layout::dashboard::table::cmd::28620::column":1,"layout::dashboard::table::cmd::28622::line":1,"layout::dashboard::table::cmd::28622::column":1,"layout::dashboard::table::cmd::28621::line":1,"layout::dashboard::table::cmd::28621::column":1,"layout::mobile::table::cmd::28618::line":1,"layout::mobile::table::cmd::28618::column":1,"layout::mobile::table::cmd::28617::line":1,"layout::mobile::table::cmd::28617::column":1,"layout::mobile::table::cmd::28619::line":1,"layout::mobile::table::cmd::28619::column":1,"layout::mobile::table::cmd::28620::line":1,"layout::mobile::table::cmd::28620::column":1,"layout::mobile::table::cmd::28622::line":1,"layout::mobile::table::cmd::28622::column":1,"layout::mobile::table::cmd::28621::line":1,"layout::mobile::table::cmd::28621::column":1}             [order:protected] => 9999             [comment:protected] =>              [tags:protected] =>              [_debug:protected] =>              [_object:protected] =>              [_needRefreshWidget:protected] =>              [_timeoutUpdated:protected] =>              [_batteryUpdated:protected] =>              [_changed:protected] =>          )      [_needRefreshWidget:protected] =>      [_needRefreshAlert
![Capture d’écran 2022-02-02 à 20.21.07|690x254](upload://mgr1Qp9g2RHzgtNXhLsx87oKCR4.png)
:protected] =>      [_changed:protected] => 1 )

Hors je n’ai aucune commande sans nom (inclusion automatique)


, Que faire ? tout fonctionne parfaitement juste cette alarme qui remplie le log et les messages

Bonjour @Kerdale,
Très honnêtement, après analyse des quelques logs, je ne comprends pas d’où peut vient cette erreur.
Peux-tu essayer de sauvegarder à nouveau cet équipement ?

 
Sinon, peux-tu m’envoyer (message privé) le log de résultat du script suivant :

$scenario->setLog(json_encode(utils::o2a(jMQTTCmd::byEqLogicId('4092'))));

Il faut le lancer dans un bloc code d’un scenario.

 
Je vois aussi que tu es en v3.3.5, cette version date d’octobre 2018 et n’intègre pas certaines méthodes sur lesquelles nous nous appuyions (version minimum pour jMQTT 3.3.24).
Avec la sortie de la 4.2, le support de la v3 va être de plus en plus compliqué, penses-tu planifier une mise à jour de ton Jeedom au moins en v4.1 ?

Bad

2 « J'aime »

Je te remercie de ta réponse, en fait je suis sous la dernière version V3 de jeedom la 3.3.59
je serai bien passé sous la 4 mais j’utilise beaucoup un pluging bloquant en V4 JPI plugin qui m’est indispensable et malheureusement le dev a disparu du paysage ! Bref pour l’instant je reste bloqué sur la V3 tant que je n’ai pas trouvé de contournement techniquement fiable (clef 3G passe pas réseau trop faible) je passe en mp le log. J’ai supprimé l’équipement modifié le libellé des noms des commande, j’ai eu à nouveau le message mais une seule fois et plus rien après lorsque je resauvergarde. Ne perds pas de temps avec ce pb , plus de message d’alerte et Jmqtt me remonte bien les valeurs donc on va considèrer comme résolu. J’aurai bien voulu contourner en passant Jmqtt sur un Rpi3 en V4.2 mais Jeelink ne fonctionne plus en V4 vers V3 donc cette piste là aussi bloquée, je passe le sujet en résolu, Bonne journée

Hello,

Merci pour ta réponse.
Encore une fois, je ne vois rien de particulier dans les logs que tu m’as envoyé en MP, tout à l’air normal. Ravi en tout cas que ça marche pour toi.

Concernant le passage de messages entre 2 Jeedoms, JeeLink n’est pas la seule option, tu peux par exemple transmettre les infos en MQTT, vu que tu l’utilises déjà. L’idée est simple : publier des valeurs sur un jeedom et souscrir aux topics pour les récupérer de l’autre :wink:
Du coup, tu pourrais garder un Jeedom en V3 qui n’évoluera pas, tant que tu n’aura pas trouvé le moyen de le faire, tu y aurais que les plugins non maintenu et que tu ne ferais pas évoluer ; et un Jeedom en v4.1 (ou même v4.2), où tu continues à évoluer.

Qu’en dis-tu ?

Sinon, qu’utilises-tu comme plugin « obsolète » ? Je crois que certains développeurs se concertent pour reprendre de vieux plugins et les maintenir compatibles avec les dernières versions.

Bad

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