Domoticz : V3.6169
Niveau du demandeur : newbee (pour moi Python c'est un reptile et Bash une protection efficace contre la pluie) - mais je sais avec winscp me balader et copier des fichiers sur l’arborescence du syno
Bonjour
J'aimerais pouvoir sur le synology, manipuler les données Json, (parser?) et extraire des valeurs des devices, données par une commande du type
http://192.168.1.88:8084/json.htm?type=devices&rid=488
J'aimerais par exemple extraire la valeur 0,003 kwh de "CounterToday" J'ai trouvé beaucoup d'exemples sur le forum, blog et les wiki domoticz, mais cela concerne souvent le Pi.
L'outil ./Jq à l'air parfait, mais sur un syno je n'ai pas l'impression que c'est applicable.
Alors ma question, sur un synology qu'elle est la méthodologie à utiliser pour faire fonctionner CURL, les scripts Php. Quels programmes faut il installer sur le syno et quels sont les chemins à mettre en place ?
Je suis preneur de tous liens et tuto
Sur le syno j'ai les paquets suivants qui fonctionnent : PHP 5.6, Node.js v4. Faut il autres choses ?
J'ai testé la méthode LUA Pass2PHP v2.2 de Egregius.be, mais rien ne ce passe (j'ai bien mis en place les scripts JSON.lua et ee5_base64.lua et adapté les chemins). Les deux scripts LUA sont exécutés et ne génèrent pas d'erreurs dans les log domoticz.
Le script Lua pour lancer le php :
Code : Tout sélectionner
JSON=loadfile('/volume2/@appstore/domoticz/var/scripts/lua/JSON.lua')()
base64=loadfile('/volume2/@appstore/domoticz/var/scripts/lua/ee5_base64.lua')()
c=base64.encode(JSON:encode(devicechanged))
s=base64.encode(JSON:encode(otherdevices))
i=base64.encode(JSON:encode(otherdevices_idx))
t=base64.encode(JSON:encode(otherdevices_lastupdate))
os.execute('curl -s --data "c='..c..'&s='..s..'&i='..i..'&t='..t..'" /volume2/secure/extract.php &')
commandArray={}
-- print('coucou php')
return commandArray
Code : Tout sélectionner
#!/volume2/@appstore/PHP5.6/usr/local/bin/php56
<?php
echo "Bonjour le monde";
$json_string = file_get_contents("http://192.168.1.88:8084/json.htm?type=devices&rid=596");
$parsed_json = json_decode($json_string, true);
$test_link = "/volume2/@appstore/domoticz/var/scripts/test_1.txt";
$test_data = fopen ($test_link, "w+");
fwrite ($test_data, print_R($parsed_json, TRUE));
fclose ($test_data);
$parsed_json = $parsed_json['result'][0];
$CounterToday = $parsed_json['CounterToday'];
echo "consommation journalière ".$CounterToday."kWh"."\n";
$parsed_json = json_decode($json_string, true);
$parsed_json = $parsed_json['result'][0];
$Usage = $parsed_json['Puissance instantannéé'];
echo "Puissance instantannée ".$Usage."W"."\n";
echo "Bonjour le monde";
?>