veni
Janvier 4, 2023, 10:52
1
Bonjour,
Je ne trouve pas l’info ou j’ai du mal à la chercher.
Je ne sais pas si c’est possible, j’ai un serveur traccar à part sur un autre PC.
Est il possible que dès que le plugins JC reçoit une position du téléphone qu’il envoie une requête HTTP au serveur traccar afin de lui donner la position ?
Envoyer une position manuellement à traccar je sais faire :
http://demo.traccar.org:5055/?id=123456&lat={0}&lon={1}
Le probleme c’est que je ne sais absolument pas comment récupérer la position que reçoit JC et l’intégrer à l’url.
Je le faisais avant, avec MacroDroid , mais avec les dernières version de android et les limitations du GPS je voulais voir si ça fonctionnait mieux avec JC, parce que JC déclenche le GPS uniquement si ça bouge, pour fonctionner avec MacroDroid je suis obligé de laisser le gps en route en permanence.
Merci
salut,
pour moi pas grand chose à faire côté JC
tu changes de position, l’app envoie une info au plugin pour mettre à jour une commande sur ton équipement JC → l’info est donc dispo dans cette commande !
il te suffit d’utiliser un scénario par la suite :
déclencheur :
cmd position de l’équipement
action :
découper la commande position pour séparer la longitude de latitude
puis appel de ton url traccar avec les 2 infos
1 « J'aime »
veni
Janvier 4, 2023, 11:26
3
Je parlais bien du plugin quand je disais JC oui.
Oui la position est bien dans le plugin.
Mais tu viens de m’aiguiller (voir même donné la solution) sur quoi partir je vais fouiner merci =)
moi aussi
mais donc tout le reste est du « standard » jeedom, d’où ma remarque
1 « J'aime »
tu mets en solution, donc ca fonctionne ?
veni
Janvier 4, 2023, 11:41
6
Je sais pas, je vais chercher justement.
Pour moi une piste est la solution pour que j’essaie maintenant de le faire.
Mais je vois pas pourquoi ça ne marcherait pas. C’est finalement du basique de jeedom comme tu l’as dis
en complément :
Bonsoir,
Je souhaiterais lancer à heure fixe, l’appel d’une URL se présentant sous cette forme :
http://192.168.xx.yy/cgi-bin/script?param=#heure#
où #heure# est l’heure courante.
J’ai créé pour cela, avec le plugin script, un script de type « http » et « action ». Mais je coince pour le passage du paramètre #heure#. Je me suis perdue dans les différentes discussions sur le forum mais ne suis pas parvenue à trouver la solution.
Quelqu’un peut-il m’aider ou m’aiguiller vers le tuto que je n…
et avant ca, faire via bloc code un explode sur ta commande position pour séparer longitude de latitude
Yop Yop,
Concernant le scénario, je te mets celui que j’utilise afin d’exploiter les infos de JC (au passage merci @tomitomas )
bloc code
$tags = $scenario->getTags();
$gps = $tags['#gps#'];
$gps = explode(",", $gps);
$tags['#lat#'] = $gps[0];
$tags['#lon#'] = $gps[1];
$tags['#alt#'] = $gps[2];
$scenario->setTags($tags);
Il permet de récupérer la commande position de JC et de la découper afin de l’exploiter
De là je renvoi les infos dans un virtuel et je les reformes afin d’obtenir la position…
Ce virtuel faisait un push vers une commande traccar…
Si ça peut aider !!
Meilleurs vœux…
1 « J'aime »
veni
Janvier 4, 2023, 3:54
9
Merci.
Avec plusieurs post sur le forum je suis arrivé à ça oui .
Le hic je but depuis 2h sur la requête http , elle ne doit pas envoyer correctement les paramètres ou je loupe un truc.
je dois oublier des ’ ou un truc du genre non ?
je le fais dans un script en http :
http://***:5055/?id= &lat=#[Localisation][test][latitude]#&lon=#[Localisation][test][longitude]#
Ou dans le code :
$req = 'curl -i "http://****5055/?id=****&lat=$#[Localisation][test][latitude]#&lon=$#[Localisation][test][longitude]#"';
$output = shell_exec($req);
Je reçois bien quelque chose sur traccar mais ça semble pas complet contrairement à si je tape l’url dans un navigateur.
Dans mon virtuel les coordonées sont bien justes.
pourtant dans le lien que je te donnais plus haut, il y avait un bel exemple avec le plugin script
sinon en code :
$gpsValues = cmd::byString('#[maison][mon equJC][Position]#')->execCmd();
$gpsArr = explode(",", $gpsValues);
$lat = $gpsArr[0];
$lon = $gpsArr[1];
$req = 'curl -i "http://****5055/?id=****&lat='.$lat.'&lon='.$lon;
$output = shell_exec($req);
1 « J'aime »
veni
Janvier 4, 2023, 6:11
11
Tout fonctionne maintenant merci.
Mais j’avais un autre problème sur traccar même qui reçoit mal les données en curl quand le geocoding est activé en même temps.
Merci
system
A fermé ce sujet ()
Janvier 5, 2023, 6:11
12
Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.