Merci pour vos réponses
La variable jsonmod contient le contenu du json après nettoyage
J’ai vérifié en affichant le contenu de la variable
J’ai même testé ce contenu dans un parser online, qui est bien valide
<?php
# lancement de la récupération des données
$json = shell_exec('python3 /var/www/html/plugins/script/data/fordpass/fordpass_vehicule_status.py X Y Z');
require_once dirname(__FILE__) . '/../../../../core/php/core.inc.php';
# Nettoyage du fichier
$jsonmod=str_replace('xxx','XXXXX',$json); // supprime VIN
$jsonmod=str_ireplace(["'",'true','false'],['"','true','false'],$jsonmod); // remplace les ' par " et met en minuscule true,false
$jsonmod=preg_replace('/([a-zA-Z_]+)/','"$1"',$jsonmod); // quote les valeurs qui en ont besoin (même celles qui n'en ont pas besoin
$jsonmod=str_replace('""','"',$jsonmod); // enlève les sur-quote (cf dessus)
echo "DEBUG VEHICULE = ".$jsonmod;
$vehicule=json_decode($jsonmod,true);
#Récupértion des informations
cmd::byId(32784)->event($vehicule['lockStatus']['value']);
?>
voici le résultat
DEBUG VEHICULE = {"vin": "XXXXX", "lockStatus": {"value": "LOCKED", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "alarm": {"value": "NOTSET", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "PrmtAlarmEvent": {"value": "Null", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "odometer": {"value": 7890.0, "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "fuel": {"fuelLevel": 24.891384, "distanceToEmpty": 250.8, "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "gps": {"latitude": "xxx", "longitude": "-xxx", "gpsState": "UNSHIFTED", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "remoteStart": {"remoteStartDuration": 0, "remoteStartTime": 0, "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "remoteStartStatus": {"value": 0, "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "battery": {"batteryHealth": {"value": "STATUS_GOOD", "timestamp": "05-29-2022 11:36:20"}, "batteryStatusActual": {"value": 12, "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}}, "oil": {"oilLife": "STATUS_GOOD", "oilLifeActual": 56, "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "tirePressure": {"value": "STATUS_GOOD", "timestamp": "06-30-2022 16:01:31"}, "authorization": "AUTHORIZED", "TPMS": {"tirePressureByLocation": {"value": 1, "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "tirePressureSystemStatus": {"value": "Systm_Activ_Composite_Stat", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "dualRearWheel": {"value": 0, "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "leftFrontTireStatus": {"value": "Normal", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "leftFrontTirePressure": {"value": "239", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "rightFrontTireStatus": {"value": "Normal", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "rightFrontTirePressure": {"value": "241", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "outerLeftRearTireStatus": {"value": "Normal", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "outerLeftRearTirePressure": {"value": "229", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "outerRightRearTireStatus": {"value": "Normal", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "outerRightRearTirePressure": {"value": "229", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "innerLeftRearTireStatus": {"value": "Not_Supported", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "innerLeftRearTirePressure": "None", "innerRightRearTireStatus": {"value": "Not_Supported", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "innerRightRearTirePressure": "None", "recommendedFrontTirePressure": {"value": 35, "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "recommendedRearTirePressure": {"value": 30, "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}}, "firmwareUpgInProgress": {"value": "false", "timestamp": "05-29-2022 11:27:25"}, "deepSleepInProgress": {"value": "false", "timestamp": "05-29-2022 11:27:25"}, "ccsSettings": {"timestamp": "10-09-2021 07:50:52", "location": 1, "vehicleConnectivity": 1, "vehicleData": 1, "drivingCharacteristics": -1, "contacts": -1}, "lastRefresh": "06-30-2022 16:01:31", "lastModifiedDate": "06-30-2022 16:01:31", "serverTime": "07-01-2022 20:21:54", "batteryFillLevel": "None", "elVehDTE": "None", "hybridModeStatus": {"value": "NullState", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "chargingStatus": {"value": "NotReady", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "plugStatus": {"value": 0, "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "chargeStartTime": {"value": "01-01-2010 00:00:00", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "chargeEndTime": {"value": "01-01-2010 00:00:00", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "preCondStatusDsply": {"value": "NotScheduled", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "chargerPowertype": "None", "batteryPerfStatus": {"value": "Oknomessagedisplayed", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "outandAbout": {"value": "PwPckOffTqNotAvailable", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "batteryChargeStatus": "None", "dcFastChargeData": "None", "windowPosition": {"driverWindowPosition": {"value": "Fully_Closed", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "passWindowPosition": {"value": "Fully_Closed", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "rearDriverWindowPos": {"value": "Fully_Closed", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "rearPassWindowPos": {"value": "Fully_Closed", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}}, "doorStatus": {"rightRearDoor": {"value": "Closed", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "leftRearDoor": {"value": "Closed", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "driverDoor": {"value": "Closed", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "passengerDoor": {"value": "Closed", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "hoodDoor": {"value": "Closed", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "tailgateDoor": {"value": "Closed", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "innerTailgateDoor": {"value": "Closed", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}}, "ignitionStatus": {"value": "Off", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "batteryTracLowChargeThreshold": "None", "battTracLoSocDDsply": "None", "dieselSystemStatus": {"exhaustFluidLevel": "None", "filterSoot": "None", "ureaRange": "None", "metricType": {"value": "Active", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}, "filterRegenerationStatus": {"value": "DPF_Normal_Operation", "status": "CURRENT", "timestamp": "06-30-2022 16:01:31"}}}
PHP Fatal error: Uncaught InvalidArgumentException: The directory "/tmp/jeedom/cache" is not writable. in /var/www/html/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FileCache.php:92
Stack trace:
#0 /var/www/html/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FilesystemCache.php(37): Doctrine\Common\Cache\FileCache->__construct('/tmp/jeedom/cac...', '.doctrinecache....', 2)
#1 /var/www/html/core/class/cache.class.php(116): Doctrine\Common\Cache\FilesystemCache->__construct('/tmp/jeedom/cac...')
#2 /var/www/html/core/class/cache.class.php(151): cache::getCache()
#3 /var/www/html/core/class/cmd.class.php(2759): cache::byKey('cmdCacheAttr327...')
#4 /var/www/html/core/class/cmd.class.php(1084): cmd->getCache(Array)
#5 /var/www/html/core/class/cmd.class.php(1674): cmd->execCmd()
#6 /var/www/html/plugins/script/data/fordpass/analyse_status.php(20): cmd->event('LOCKED')
#7 {main}
thrown in /var/www/html/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FileCache.php on line 92