Tuto : integrer le prix des carburants dans jeedomconnect (+ geolocalisation temps reel et guidage vers les stations)

il faut que tu remplace la commande dans la variable rayon par ta commande :wink: j’avais juste mis un exemple

$rayon=cmd::byString('#[TigerHome][V_ray_carburant][Etat]#')->execCmd();

Ça marche, merci beaucoup pour ton aide

2 « J'aime »

Nickel ! belle page :wink:

Bonjour,

Penses-tu remettre à jour ce tuto, suite à l’évolution du plugin-carburant ?

Merci

Oui, j’avais effectivement dit que je le ferais. Je vais prendre un peu de temps pour faire cette MAJ, d’autant que le plugin a beaucoup evolué, justement pour permettre une meilleure intégration

19/09/2022 - Refonte Complete du tuto suite à la reprise du developpement et à l’évolution du plugin plugin-prixcarburants

Au vu des évolutions du plugin, le tuto sera beaucoup plus simple.
Un seul bloc code pour changer les logos des stations à essence en s’evitant de très fastidieuses images sous condition

Dans l’ensemble du tuto, je ne garde que les 3 stations les moins chères (TOP 3). Si vous en souhaitez plus, le tuto sera à adapter en conséquence.

Dans tout le tuto, je considère que votre equipement plugin-prixcarburants est déjà paramétré et opérationnel. Ma config. J’utilise la position Jeedom Connect pour actualiser le prix en fonction de la ou je suis


1 - Créer un widget de type générique numérique

1 - renseigner le champ statut avec la commande [top 1 prix]
2 - créer dans les infos complémentaires 3 infos avec les commandes [Top 1 Adresse], [Top 1 MAJ] et [Top 1 Distance]
3 - renseigner le champ sous-titre comme vous le souhaitez, pour ma part , sous-titre personnalisé:

#[xxxxx][xxxxx][Top 1 Distance]# km 
#[xxxxx][xxxxx][Top 1 MAJ]#

4 - cocher « bloquer la vue detail » qui est inutile
5 - mettre une image par defaut, n’importe laquelle, l’important, c’est qu’un image soit présente

Ensuite cote APP MOBILE, en personnalisation, modifier le champ titre pour afficher l’adresse du TOP 1, #[xxxxx][xxxxx][Top 1 Adresse]

RENOUVELER cette OPERATION POUR LE TOP 2 et le TOP 3

2 - Créer un widget Webview pour avoir le lien vers Waze (si vous préferez google map, il suffira de prendre l’autre lien et changer l’icone :wink:

1 - renseigner le champ statut avec la commande [Top 1 Waze]
2 - Mettre l’icone Waze comme image par defaut
3 - affichage par defaut : vignette

Ensuite cote APP MOBILE, en personnalisation, masquer le nom, le sous-titre et le statut

RENOUVELER cette OPERATION POUR LE TOP 2 et le TOP 3

mettez en page votre page Jeedom connect avec les grilles avancées pour avoir un affichage comme ceci

scenario de mise à jour automatique des icones
Declencheur : les 3 commandes [Top 1 Logo], [Top 2 Logo], [Top 2 Logo] de votre équipement
Contenu :
4 commandes actions de type tag pour indiquer les variables du bloc code :

  • Equipement : Le nom (sans les #) de l’équipement concerné au format [objet][equipement]
  • Top1WidgetId : Id du widget TOP 1 créé plus haut
  • Top2WidgetId : Id du widget TOP 2 créé plus haut
  • Top3WidgetId : Id du widget TOP 3 créé plus haut

Puis un bloc code que vous ne devriez pas avoir besoins de modifier

require_once dirname(__FILE__) . '/../../plugins/JeedomConnect/core/class/JeedomConnectWidget.class.php';

// mise à jour de l'icone/marque de la station à essence
$tags=$scenario->getTags();     // récupératon des tag du scénario
$eqLogicName=$tags['#Equipement#'];
$widgetId1=$tags['#Top1WidgetId#'];
$widgetId2=$tags['#Top2WidgetId#'];
$widgetId3=$tags['#Top3WidgetId#'];

foreach (array(1, 2, 3) as $nbTop) {
  // mise à jour de l'image
  $IcoFileNameArray = explode('/',cmd::byString('#'.$eqLogicName.'[Top '.$nbTop.' Logo]#')->execCmd()) ;
  $IcoFileName = $IcoFileNameArray[6] ;
  $widgetKey='image';
  $widgetId=${widgetId.$nbTop} ;
  $scenario->setLog('Top '.$nbTop.' -> Logo : '.$IcoFileName.' -> WidgetId : '.$widgetId);
  $widgetValue= array('source' => 'user', 'name' => $IcoFileName, 'shadow' => false);
  JeedomConnectWidget::updateConfig($widgetId,$widgetKey,$widgetValue);
}

Et pour ceux que ca interesse le template du scenario
Scenarios_logos_carburant.json.txt (5,0 Ko)

Ensuite, charger l’integralité des logos des stations à essence dans Jeedom Connect
logos stations essence.zip.txt (293,8 Ko)

Si vous souhaitez vous amuser encore un peu :
Avoir un historique de l’évolution des prix
Possibilité de créer un widget historique pour suivre le cours du litre d’essence … activez l’historisation de [top 1 prix] coté plugin-prixcarburants et mettre en statut du widget cette commande

Pouvoir modifier le rayon de recherche
A suivre

6 « J'aime »

tu as une coquille dedans :

$iconCmd='[Appartement][Météo][Météo Actuellement - Icone]';

une petite ligne qui se ballade en plus, tu as dû oublier le café ce midi :joy: :joy:

Merci ! corrigé …

Je mets une petite capture de ce que j’ai fais…
J’ai modifié l’id des widgets dans le scénario afin qu’elle redirige vers les icones des widgets Webview.
Merci @ngrataloup pour tes tutos.

2 « J'aime »

Bonjour,
@chris_77 ce que tu as fait m’intéresse bigrement : pourrais-tu détailler la façon dont tu as redirigé vers le widget Webview ? De ce que je comprends, quand tu cliques sur le logo de la station cela te lance le widget Webview (waze ou maps selon) ?
Cordialement.

Bonjour,
Oui tout à fait !
Tu suits le tuto de @ngrataloup en entier…
Juste à modifier les tags dans le scénario afin de mettre les ids des Webview

@chris_77 Je l’avais déjà suivi donc effectivement ca a été rapide : il n’y a qu’à mettre l’id du widget webview et ca marche ! C’était plus simple que je ne l’imaginais … Merci !

Bonjour ,excellent tuto,
j’ai un souci avec les logos :: charger l intégralité des logos dans jeedom connect , on les places où? user files?

Le plus simple, tu vas sur n’importe quel widget
Puis image puis images perso puis ajouter.
Tu sors sans enregistrer
Comme ça, tu utilises les.mecanismes JC pour charger les images et plus besoin de se casser la tête sur la localisation ou les droits

Norbert

trop fort ton tuto, j 'avais un espace dans le champs des tags entre top1 et WidgetId donc forcément …ca marchait moins bien…
merci encore

Bonsoir,

Super vais faire la mise à jour, par contre ton code à 1ere vue fonctionne que pour un carburant je présume.
ou faire un autre scenario bloc code avec le carburant différent je suppose.

Merci a toi.

Si tu as un 2nd vehicule avec un autre carburant, effectivement, il faut avoir un 2nd eqipement sur le plugin-prixcarburants, doublonner les widgets cote plugin-jeedomconnect et faire un autre scenario avec les bons equipements et les bons widgetId

Oui c’est ce que je pensais, merci a toi.

Tu as un exemple Historique des prix la configuration du widget, sltp

Merci à toi.

Voilà…

1 « J'aime »