Alexa-Remote WS-MQTT: Parsed Message

voilà j’ai fait tout fonctionner correctement :

  1. mise à jour du code de la classe:
  public static function deamon_info()
    {
        $return = array();
        $return['log'] = __CLASS__;
        $return['state'] = 'nok';
        $return['stateCookies'] = 'non lancé';

        // Regarder si alexaapi.js est lancé
        $pid = trim(shell_exec('ps ax | grep "resources/alexaapi.js" | grep -v "grep" | wc -l'));
        if ($pid != '' && $pid != '0') $return['state'] = 'ok';

        // Regarder si alexaapi.js est lancé
        $pid = trim(shell_exec('ps ax | grep "resources/initCookie.js" | grep -v "grep" | wc -l'));
        if ($pid != '' && $pid != '0') $return['stateCookies'] = 'lancé';

        // Regarder si le cookie existe :alexa-cookie.json
        $request = realpath(dirname(__FILE__) . '/../../resources/data/alexa-cookie.json');
        if (file_exists($request)) $return['launchable'] = 'ok';
        else {
            $return['launchable'] = 'nok';
            $return['launchable_message'] = "Cookie Amazon ABSENT ";
        }
        return $return;
    }

    public static function deamon_start($_debug = false)
    {
        self::deamon_stop();
        $deamon_info = self::deamon_info();
        if ($deamon_info['launchable'] != 'ok') throw new Exception(__('Veuillez vérifier la configuration', __FILE__));
        log::add(__CLASS__, 'info', ' Lancement du démon alexaapi v2');
        $url = network::getNetworkAccess('internal', 'proto:127.0.0.1:port:comp') . '/plugins/alexaapi/core/api/jeealexaapi.php?apikey=' . jeedom::getApiKey('alexaapi');
        $log = $_debug ? '1' : '0';
        $sensor_path = realpath(dirname(__FILE__) . '/../../resources');
        $cmd = 'nice -n 19 node ' . $sensor_path . '/alexaapi.js ' . network::getNetworkAccess('internal') . ' ' . config::byKey('amazonserver', 'alexaapi', 'amazon.fr') . ' ' . config::byKey('alexaserver', 'alexaapi', 'alexa.amazon.fr') . ' ' . jeedom::getApiKey('alexaapi') . ' ' . log::getLogLevel(__CLASS__);
        log::add('alexaapi', 'debug', 'Lancement démon alexaapi : ' . $cmd);
        $result = exec('NODE_ENV=production nohup ' . $cmd . ' >> ' . log::getPathToLog(__CLASS__.'_node') . ' 2>&1 &');
        //$cmdStart='nohup ' . $cmd . ' | tee >(grep "WS-MQTT">>'.log::getPathToLog('alexaapi_mqtt').') >(grep -v "WS-MQTT">>'. log::getPathToLog('alexaapi_node') . ')';
        if (strpos(strtolower($result), 'error') !== false || strpos(strtolower($result), 'traceback') !== false) {
            log::add( __CLASS__, 'error', $result);
            return false;
        }
        $i = 0;
        while ($i < 30) {
            $deamon_info = self::deamon_info();
            if ($deamon_info['state'] == 'ok') break;
            sleep(1);
            $i++;
        }
        if ($i >= 30) {
            log::add('alexaapi', 'error', 'Impossible de lancer le démon alexaapi, vérifiez le port', 'unableStartDeamon');
            return false;
        }
        message::removeAll('alexaapi', 'unableStartDeamon');
        log::add(__CLASS__, 'info', ' Démon alexaapi lancé v2');
        return true;
    }

et résultat :

3 « J'aime »