Longitude, Latitude et Longitude & Latitude

Bonjour,

Pour utiliser les informations de localisation dans un autre logiciel et les exporter en MQTT dans un format facile à intégrer.
En plus de la [longitude, latitude], serait il possible d’avoir dans le plugin les 2 informations séparées : longitude et latitude?

**explode** ( string `$separator` , string `$string` , int `$limit` = **`PHP_INT_MAX`** ) : array

https://www.php.net/manual/fr/function.explode.php

1 « J'aime »

Merci @olive,

Avec ton support et la fonction explode en main, j’ai fait un script comme ceci qui convertit les coordonnés de GSL et transmet dans un virtuel.
Si tu as des commentaires, n’hésites pas à me faire part de tes idées

$cmd = cmd::byString("#[Smartphone][Olivier][coordonnees]#");
$collect_longitude_latitude = $cmd->execCmd();
$scenario->setData("test_php", $collect_longitude_latitude);

list($longitude, $latitude) = explode(",", $collect_longitude_latitude);

$scenario->setlog('Longitude : '.$longitude);
$scenario->setlog('Latitude : '.$latitude);


cmd::byString("#[Jeedom][GPS Explode][olivier_longitude]#")->event($longitude);
cmd::byString("#[Jeedom][GPS Explode][olivier_latitude]#")->event($latitude);
1 « J'aime »

Ça me semble correct.
Juste une remarque je n’aime pas les by string ou by id a l’intérieur des blocs de scénarios.
(si le nom de la commande change … le bloc non)
Je préféré utiliser un ou des tag avant le bloc puis les utiliser dedans
dème à la sortie.

Aurais tu un exemple, car j’ai pas compris l’histoire des tags avant ou après ?

avant le block
action
tag cmd #[Smartphone][Olivier][coordonnees]#

dans le bloc

$tags = $scenario->getTags();
$cmd = $tags['#cmd#'];

.... ton script

$tags['#longitude#'] = $longitude;
$tags['#latitude#'] = $latitude;
$scenario->setTags($tags);

après le bloc

action

event #[Jeedom][GPS Explode][olivier_longitude]# #longitude#’
event #[Jeedom][GPS Explode][olivier_latitude]# #latitude#’

@olive,

là, j’ai pas tout compris :face_with_head_bandage:

Pour simplifier …

l’avantage est que si tu renome le nom de tes commande ton scenario fonctionne toujours
Alors que si tu utilise byString tu doit refaire ton bloc code …

J’ai simplifier aussi l’utilisation du array renvoyé par le explode

1 « J'aime »

@olive, en image c’est hyper clair et brillant

Heureux que ça te plaise !

Beaucoup de personnes oublient la puissance des tag !
Vue de loin ça ressemble presque a une fonction.