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
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
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 _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
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
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.
Problème résolut
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 :
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.