Authentification Cozytouch échoue - "Error Page de Configuration"

Ceci dit il y a des choses très obscures pour moi dans le code, par exemple :

    /* fonction permettant d'initialiser la pile 
     * plugin: le nom de votre plugin
     * action: l'action qui sera utilisé dans le fichier ajax du pulgin 
     * callback: fonction appelée coté client(JS) pour mettre é jour l'affichage 
     */ 
    public function initStackData() {
        nodejs::pushUpdate('cozytouch::initStackDataEqLogic', array('plugin' => 'cozytouch', 'action' => 'saveStack', 'callback' => 'displayEqLogic'));
    }
    
    /* fonnction permettant d'envoyer un nouvel équipement pour sauvegarde et affichage, 
     * les données sont envoyé au client(JS) pour étre traité de maniére asynchrone
     * Entrée: 
     *      - $params: variable contenant les paramétres eqLogic
     */
    public function stackData($params) {
        if(is_object($params)) {
            $paramsArray = utils::o2a($params);
        }
        nodejs::pushUpdate('cozytouch::stackDataEqLogic', $paramsArray);
	}
	
    /* fonction appelée pour la sauvegarde asynchrone
     * Entrée: 
     *      - $params: variable contenant les paramètres eqLogic
     */
    public function saveStack($params) {
        // inserer ici le traitement pour sauvegarde de vos données en asynchrone
        
    }

C’est quoi ce nodejs ? çà sort d’où ? çà fait quoi ? Pour moi c’est du chinois.

Yes mais du coup lors de l’installation du plugin et le renseignement des identifiants, les informations devraient être vides et donc être enregistrées dès lors qu’on les renseignes dans les paramètres et que l’on sauve. Je ne vois pas bien à quel moment il pourrait se retrouver avec des valeurs incorrectes (sauf si mal saisies dès le départ.

Bref c’est pas grave si j’ai pas saisi la mécanique, si tu vois ce qui provoque le soucis et que tu vois comment le corriger c’est l’essentiel :sweat_smile:

C’est peut-être des choses qu’il avaient tenté et qui n’ont finalement pas été utilisé. Comme ça je ne vois pas bien à quoi ça sert moi non plus

Imagine, tu as déjà des valeurs pour utilisateur et mot de passe, tu vas sur la page de configuration (donc tu as déjà un client instancié avec ces valeurs) tu changes par exemple le mot de passe, tu cliques sur sauvegarder, les valeurs dans la base sont bien mises à jour, tu cliques sur synchroniser, c’est le client avec les anciennes valeurs qui est utilisé car il est déjà instancié et le nouveau mot de passe n’est pas pris en compte.

Oui c’est bien le cas de figure que j’avais en tête après ton explication. Mais apparemment parfois, comme dans le cas de LordSteeve, ça semble KO dès le départ et alors même qu’il vient de réinstaller le plugin et enregistrer ses identifiants en faisant un save dès le départ et avant de synchroniser. Alors sauf s’il se trompe lors de la première saisie je ne saisi pas.

Mais bon de toute façon tu as raison il y a un truc qui ne va pas dans la façon de faire. En tout cas moi sur mes plugins je vais chercher le contenu des paramètres dès lors que je vais utiliser l’un de ces paramètres (appel d’une URL avec login/pass).

Et oui c’est la façon Jeedom de faire les choses.
Mais ce que je ne comprends pas lors de mes essais c’est que je récupère bien un token et le timestamp atlantic_token_expire est bien dans le futur j’ai vérifié et donc la fonction getToken a bien l’air de faire le job. Ensuite dans la fonction getJwt je récupère bien un très long jwt donc là aussi çà a l’air bon. Mais ensuite la fonction getJSessionId fait une requête à https://ha110-1.overkiz.com/enduser-mobile-web/enduserAPI/login qui me retourne une erreur 401.
Il faut que je regarde ce que font les autres Domoticz, HA, Homebridge et consorts pour comprendre ce qui ne va pas.

Même proposition du coup … si tu veux me contacter en MP pour me donner tes identifiants et je testerais sur mon Jeedom de dev.

Actuellement en utilisant les identifiants de mes parents ça fonctionne bien et je récupère bien ce JSessionId :