Warning JS lors de info modem

Salut

Vm Debian 11
Core Beta 4.4.2
Plugin en beta
Le tout à jour de ce matin

merci @anon53349806 , si je comprends bien il faut tester si jeedom >= 4.2 et utiliser la nouvelle fonction si c’est le cas.

Je vais tester ça

Ah ça je ne saurai le dire.
Je ne suis absolument pas dev !

Je suis juste capable de tester et trouver des coquilles et corriger de la doc

My 2 cents: tu ne testes rien du tout, tu utilises les nouvelles fonctions et tu passes ton plugin en minimum requis core 4.2 dans ton info.json

Quasi tous les « gros » plugins (script, virtuel, protocole domotique) sont en 4.2 minimum
Les utilisateurs doivent mettre à jour de toute façon

1 « J'aime »

ok @Mips mais je rencontre un pb, lorsque je modifie la fonction jeedom.log.autoupdate par jeedom.log.autoUpdateDelta ça me dit que cette fonction n’existe pas dans mon jeedom en v4.3 Uncaught TypeError: jeedom.log.autoUpdateDelta is not a function

Je n’avais pas regardé le nom des fonctions mais celle-là n’existe que en 4.4
les autres aussi du coup je pense

je pense qu’il y a un soucis dans le core du coup, le message ne devrait pas apparaitre

le message dit

  • que c’est deprécié en 4.6 => le message ne devrait donc pas être visible avant la 4.6
  • qu’il faut la fonction du core 4.4 => ok
  • require 4.2 => KO

Bonjour,

Il me semble que le core ne réagit pas comme ceci, a partir du moment ou la function jeedomUtils.deprecatedFunc est appelée, cela déclenche l’erreur dans tout les cas (sauf si coreBranch == ‹ V4-stable ›), du coup le _since devrait être == 4.4 comme le _to (Introduced en 4.4, deprecated en 4.4)

Pas KO car c’est bien le require du plugin.

Edit: je m’embrouille :rofl: _since doit bien être en 4.6, version dans laquelle la fonction jeedom.log.get ne devrait plus exister

@anon53349806 est ce que tu pourrais tester de remplacer tout ce qu’il y a dans le fichier info_daemon.php

par ça:

<?php

if (!isConnect('admin')) {
	throw new Exception('{{401 - Accès non autorisé}}');
}
if (!class_exists(init('plugin'))) {
	die();
}
if (init('slave_id') == 0) {
	$plugin = plugin::byId(init('plugin'));
	//$deamon_info = $plugin->deamon_info();
} else {
	$jeeNetwork = jeeNetwork::byId(init('slave_id'));
	//$deamon_info = $jeeNetwork->sendRawRequest('plugin::deamonInfo', array('plugin_id' => init('plugin_id')));
}
	// uniquement si on est en version 4.4 ou supérieur
	$jeedomVersion  = jeedom::version() ?? '0';
	$displayInfoValue = version_compare($jeedomVersion, '4.4.0', '>=');

sendVarToJS('versionsup', json_encode($displayInfoValue));
sendVarToJs('logfile', init('plugin_id'));
sendVarToJs('slave_id', init('slave_id'));
?>

<div id='div_updatePluginDependancyAlert' style="display: none;"></div>

<a class="btn btn-warning pull-right" data-state="1" id="bt_pluginDeamonLogStopStart"><i class="fas fa-pause"></i> {{Pause}}</a>
<input class="form-control pull-right" id="in_pluginDeamonLogSearch" style="width : 300px;" placeholder="{{Rechercher}}" />
<br/><br/><br/>
<pre id='pre_pluginDeamonLogUpdate' style='overflow: auto; height: 90%;with:90%;'></pre>


<script>
		if (versionsup == "true"){
			if(slave_id == 0){
				jeedom.log.autoUpdateDelta({
					log : logfile,
					display : $('#pre_pluginDeamonLogUpdate'),
					search : $('#in_pluginDeamonLogSearch'),
					control : $('#bt_pluginDeamonLogStopStart'),
				});
			}else{
				jeedom.log.autoUpdateDelta({
					log : logfile,
					slaveId :slave_id,
					display : $('#pre_pluginDeamonLogUpdate'),
					search : $('#in_pluginDeamonLogSearch'),
					control : $('#bt_pluginDeamonLogStopStart'),
				});
			};
		} else {
			if(slave_id == 0){
				jeedom.log.autoupdate({
					log : logfile,
					display : $('#pre_pluginDeamonLogUpdate'),
					search : $('#in_pluginDeamonLogSearch'),
					control : $('#bt_pluginDeamonLogStopStart'),
				});
			}else{
				jeedom.log.autoupdate({
					log : logfile,
					slaveId :slave_id,
					display : $('#pre_pluginDeamonLogUpdate'),
					search : $('#in_pluginDeamonLogSearch'),
					control : $('#bt_pluginDeamonLogStopStart'),
				});
			};
		};
</script>

stp, chez moi ça fonctionne avec jeedom en 4.3 et ma machine de test en 4.4 n’a pas le modem dessus…

Je dis pas que le core ne reagit pas comme ca mais c’est mon opinion: si on a décidé que telle méthode sera dépréciée en 4.6 et qu’on dit qu’il faut la 4.4 pour que ça fonctionne alors il ne faut pas générer de message sur les versions <4.4 :blush:

Je teste ca ce soir

C’est pourtant le cas ! une personne qui n’a pas la 4.4 n’aura pas de message car le code est seulement en 4.4 :thinking:
et pour un beta testeur >= 4.4, cela permet de remonter au dev que la fonction a changé et qu’il faut mettre a jours son code.

J’ai testé, je n’ai plus le warning js mais la fenetre est vide

Problème résolut :rofl:

Tu as bien les log du plugin en debug ?

Lol oui

J’ai simulé sur mon jeedom de dev en y copiant le log de mon jeedom de prod et la 1ère fois j’ai eu pareil mais quand j’y suis revenu qq minutes plus tard ça affichait bien qq chose

en simulant des ligne de log en live, c’est ok :

image

bon ben c okay y a plus qu’a pousser une version ^^

Merci a tous

Merci à toi d’être vigilant et clair dans tes questions

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