Bonjour,
Version Jeedom: 4.0.61
Tournant sur rpi sur l’OS Linux jeedom 5.4.51-v7
Je cherche à connecter Plex et Jeedom:
Quannd je démarre un film sur Plex, un webhook (Requete HTTP) est envoyé vers mon Jeedom
J’ai donc configuré l’url de ma commande dans Plex,
Je recois bien un event dans mes logs, qui m’affiche le payload (quel média, état de lecture, utilisateur, etc…)
Exécution de la commande [Salon][Plex - Webhooks script][ModeCinema] avec les paramètres {"apikey":"*****","type":"cmd","id":"307","payload":"{\"event\":\"media.resume\",\"user\":true,\"owner\":true,\ .....
Donc on voit bien que le payload
est passé en paramètre de la commande
J’ai besoin de filtrer sur certaines valeurs du payload, mais je ne parviens pas à récupérer la valeur de ce payload dans ma commande.
Pour le moment je test avec un script (du plugin script, pas dans un scénario) mais ce payload n’est pas transmis à la variable $argv (en PHP)
- N’ayant pas la main sur l’emission du hook, je ne peux pas passer de tags à l’appel du scénario
- Je ne souhaite pas utiliser le plugin Plex, car d’après le topic officiel du plugin, il a l’air mort et que je ne veux pas payer pour tester (et en plus, pas sûr qu’il fasse ce que je veux)
Ma question: Est-il possible de manipuler ce payload via un script PHP dans Jeedom ? (script ou scénarion code)
J’ai pas mal parcouru le web et les docs, mais entre le changement d’URL du forum et certaines pages pas à jour, je galère…
Merci
Complément d’information:
Le script PHP (hors scénario) que j’ai tenté pour faire des essais est le suivant (en lisant la doc https://doc.jeedom.com/fr_FR/plugins/programming/script/#Les%20paramètres)
<?php
require_once '/var/www/html/core/php/core.inc.php';
$logName = "script";
foreach ($_SERVER as $key => $var) {
log::add($logName,"INFO",'$_server['.$key.'] = ' . $var) ;
}
if (isset($argv)) {
foreach ($argv as $arg) {
log::add($logName,"INFO",'$arg ' . $arg) ;
$argList = explode('=', $arg);
if (isset($argList[0]) && isset($argList[1])) {
$_GET[$argList[0]] = $argList[1];
}
}
}
?>
Avec la config suivante
et qui me sort les logs suivants:
[2020-08-14 17:09:09][DEBUG] : Execution de : php /var/www/html/plugins/script/data/plex-webhook.php 2>&1
[2020-08-14 17:09:09][INFO] : $_server[APACHE_RUN_DIR] = /var/run/apache2
[2020-08-14 17:09:09][INFO] : $_server[APACHE_PID_FILE] = /var/run/apache2/apache2.pid
[2020-08-14 17:09:09][INFO] : $_server[JOURNAL_STREAM] = 8:11665
[2020-08-14 17:09:09][INFO] : $_server[PATH] = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[2020-08-14 17:09:09][INFO] : $_server[INVOCATION_ID] = ******
[2020-08-14 17:09:09][INFO] : $_server[APACHE_LOCK_DIR] = /var/lock/apache2
[2020-08-14 17:09:09][INFO] : $_server[LANG] = C
[2020-08-14 17:09:09][INFO] : $_server[APACHE_RUN_USER] = www-data
[2020-08-14 17:09:09][INFO] : $_server[APACHE_RUN_GROUP] = www-data
[2020-08-14 17:09:09][INFO] : $_server[APACHE_LOG_DIR] = /var/log/apache2
[2020-08-14 17:09:09][INFO] : $_server[PWD] = /var/www/html/core/api
[2020-08-14 17:09:09][INFO] : $_server[PHP_SELF] = /var/www/html/plugins/script/data/plex-webhook.php
[2020-08-14 17:09:09][INFO] : $_server[SCRIPT_NAME] = /var/www/html/plugins/script/data/plex-webhook.php
[2020-08-14 17:09:09][INFO] : $_server[SCRIPT_FILENAME] = /var/www/html/plugins/script/data/plex-webhook.php
[2020-08-14 17:09:09][INFO] : $_server[PATH_TRANSLATED] = /var/www/html/plugins/script/data/plex-webhook.php
[2020-08-14 17:09:09][INFO] : $_server[DOCUMENT_ROOT] =
[2020-08-14 17:09:09][INFO] : $_server[REQUEST_TIME_FLOAT] = 1597417749.3373
[2020-08-14 17:09:09][INFO] : $_server[REQUEST_TIME] = 1597417749
[2020-08-14 17:09:09][INFO] : $_server[argv] = Array
[2020-08-14 17:09:09][INFO] : $_server[argc] = 1
[2020-08-14 17:09:09][INFO] : $arg /var/www/html/plugins/script/data/plex-webhook.php
Mais aucune trace de mon payload dans les arguments