Galere avec le decodage d'un json dans un scenario

Bonjour,

Malgré mes recherches sur le site et les exemples, je ne trouve pas pourquoi mon scenario ne fonctionne pas. Je dois vous dire que mon niveau en php est proche de 0.

J’ai un équipement qui transmet un message vers un broker et qui apparait bien dans pour JMQTT.

Voilà le json


{"applicationID":"1","applicationName":"Maison","deviceName":"Dragino","devEUI":"006667fde5f07b04","rxInfo":[{"gatewayID":"b827ebfffe7f9480","uplinkID":"53af782e-9d05-4f86-b020-a9231170cb69","name":"RAK-7243","rssi":-96,"loRaSNR":8,"location":{"latitude":45.6885582363027,"longitude":-1.0632410645484927,"altitude":40}}],"txInfo":{"frequency":867900000,"dr":0},"adr":true,"fCnt":9,"fPort":2,"data":"AAAAAAAAAABOr2MAXgB6","object":{"ALARM_status":true,"BatV":3.759,"FW":153,"LON":"ON","Latitude":0,"Longitude":0,"MD":"Move","Pitch":1.22,"Roll":0.94}}

Et décodé


"applicationID":"1",
"applicationName":"Maison",
"deviceName":"Dragino",
"devEUI":"006667fde5f07b04",
"rxInfo":[
{
"gatewayID":"b827ebfffe7f9480",
"uplinkID":"53af782e-9d05-4f86-b020-a9231170cb69",
"name":"RAK-7243",
"rssi":-96,
"loRaSNR":8,
"location":{
"latitude":45.6885582363027,
"longitude":-1.0632410645484927,
"altitude":40
}
}
],
"txInfo":{
"frequency":867900000,
"dr":0
},
"adr":true,
"fCnt":9,
"fPort":2,
"data":"AAAAAAAAAABOr2MAXgB6",
"object":{
"ALARM_status":true,
"BatV":3.759,
"FW":153,
"LON":"ON",
"Latitude":0,
"Longitude":0,
"MD":"Move",
"Pitch":1.22,
"Roll":0.94
}
}

Et finalement mon scenario pour récupérer la valeur « Latitude »

$cmd = cmd::byString("#[Test][application][1:device:006667fde5f07b04:rx]#");
$json = $cmd->execCmd();
$scenario->setlog('-----RAW----------');
$scenario->setlog($json);
$scenario->setlog('');

// Step 2: Decodage du JSON et recuperation des infos souhaitees
$jsonData = json_decode($json,true);
$scenario->setlog('-----DECODE-----');
$scenario->setlog('');

$scenario->setLog('Latitude : '.$jsondata['rxInfo']['location']['latitude']);

Malheureusement, je ne récupère pas la valeur.
Une bonne ame pourrait me donner un tuyau?

Merci d’avance
Patrice

['rxInfo'][0]['location']['latitude']

Malheuresement, c’est toujours pas ça.

[2023-11-14 10:18:51][SCENARIO] -----RAW----------
[2023-11-14 10:18:51][SCENARIO] {"applicationID":"1","applicationName":"Maison","deviceName":"Dragino","devEUI":"006667fde5f07b04","rxInfo":[{"gatewayID":"b827ebfffe7f9480","uplinkID":"53af782e-9d05-4f86-b020-a9231170cb69","name":"RAK-7243","rssi":-96,"loRaSNR":8,"location":{"latitude":45.6885582363027,"longitude":-1.0632410645484927,"altitude":40}}],"txInfo":{"frequency":867900000,"dr":0},"adr":true,"fCnt":9,"fPort":2,"data":"AAAAAAAAAABOr2MAXgB6","object":{"ALARM_status":true,"BatV":3.759,"FW":153,"LON":"ON","Latitude":0,"Longitude":0,"MD":"Move","Pitch":1.22,"Roll":0.94}}
[2023-11-14 10:18:51][SCENARIO]
[2023-11-14 10:18:51][SCENARIO] -----DECODE-----
[2023-11-14 10:18:51][SCENARIO]
[2023-11-14 10:18:51][SCENARIO] Latitude :
[2023-11-14 10:18:51][SCENARIO]  - - - 
[2023-11-14 10:18:51][SCENARIO]  - /* - Fin du Bloc code n°1 - */

Il y a-t-il une syntaxe particuliere pour Jeedom?

J’ai trouvé l’erreur:

jsondata d’un coté, jsonData de l’autre.

Bonjour,
Avec Jeedom en debug, dans le log scenario_execution, il y a :

0040|PHP Notice:  Undefined variable: jsondata in /var/www/html/core/class/scenarioExpression.class.php(1887) : eval()'d code on line 12