Uncaught TypeError: inputText.replace is not a function lors de l'installation d'un plugin

Hello,
J’ai le même problème que ce qui est décrit dans ce sujet:

A l’origine, mon fichier info.json était:

{
	"id": "EaseeCharger",
	"name": "Chargeur Easee",
	"description": {
		"fr_FR": "Plugin pour les chargeurs de véhicules électriques *Easee*",
		"en_US": "Plugin for *Easee* electric vehicle chargers",
		"es_ES": "Plugin para cargadores de vehículos eléctricos *Easee",
		"de_DE": "Plugin für Ladegeräte für Elektrofahrzeuge *Easee*",
		"it_IT": "Plugin per caricabatterie per veicoli elettrici *Easee",
		"pt_PT": "Plugin para carregadores de veículos eléctricos *Easee"
	},
	"utilization": {
		"fr_FR": "Fonctionalités très basiques pour le moment. Le plugin est en cours d'évolution"
	},
	"licence": "GNU",
	"author": "ktn",
	"require": "4.4.9",
	"category": "devicecommunication",
	"hasDependency": true,
	"hasOwnDeamon": true,
	"maxDependancyInstallTime": 10,
	"changelog": "https://ktn001.github.io/fr_FR/EaseeCharger/changelog.html",
	"documentation": "https://ktn001.github.io/fr_FR/EaseeCharger/index.html",
	"changelog_beta": "https://ktn001.github.io/fr_FR/EaseeCharger/changelog.html",
	"documentation_beta": "https://ktn001.github.io/fr_FR/EaseeCharger/index.html",
	"language": [
		"de_DE",
		"en_US",
		"es_ES",
		"fr_FR",
		"it_IT",
		"pt_PT"
	],
	"compatibility": [
		"miniplus",
		"smart",
		"rpi",
		"docker",
		"diy",
		"mobile",
		"v4"
	]
}

J’ai tenté de supprimer le champ utilization puis de redéployer mon plugin dans le Market. Mais ça ne résous pas le problème qui m’a été remonté par un utilisateur qui ne peut pas installer le plugin.

J’ai téléchargé le zip depuis le market et vérifié qu’il contient bien la version sans le utilization

Est-ce que

  • je dois attendre un peu que le market se mette à jour ?
  • Une correction doit être effectuée manuellement dans le market par quelqu’un qui y a accès ?
  • Il y a une autre erreur dans mon info.json

J’ai pu reproduire le problème sur

  • un core 4.4.9 / Debian 11
  • un core 4.4.19 / Debian 11
  • un core 4.4.19 / Debian 12

Hello
cet partie ne doit pas été traduite

"utilization":  "Fonctionnalité très basiques pour le moment. Le plugin est en cours d'évolution"

Après il faut forcer la synchronisation

PS : il faut 2xn a Fonctionnalité

1 « J'aime »

Merci,
J’ai pourtant consulter la doc mais je suis passé à coté de ce point.

La suppression du champ utilization dans le fichier info.json ne semble pas l’avoir supprimer dans le market.

Je l’ai donc remis (mais correctement cette fois :smirk:) et ça l’a modifié dans le market.

Effectivement, c’est un comportement connu.
Il faut spécifier la clé avec une chaîne vide pour que le market « vide » également la valeur de son côté. L’absence de la clé n’est pas interprété comme un paramètre vide.
Ceci est applicable à tous les paramètres (comme les versions min/max)

Mon avis perso c’est que ce comportement devrait être modifié pour que le info.json représente toujours l’état voulu.

1 « J'aime »

Tout à fait d’accord avec ton point de vue.

De plus, il serait bien de tester utilization :

  • S’il s’agit d’un scalaire comportement comme actuellement pour compatibilité avec les plugin existants.
  • S’il s’agit d’un Array, traitement de la traduction comme pour le champ description.

Mais je ne pense pas que JeedomSAS entrerai en matière pour une telle évolution.

Pour info
Il y a aussi le champs "usage" qui fonctionne aussi mais aussi il n’es pas multilingue

Hello,
Il faudrait alors mettre la doc https://doc.jeedom.com/fr_FR/dev/structure_info_json à jour et y indiquer s’il s’agit d’un champs multi-langues.

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