Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .github/workflows/work.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
on:
# Workflows check plugin Jeedom
push:
branches:
- beta
pull_request:
branches:
- beta
- master

name : 'Full Workflows Plugin Jeedom'

jobs:
plugin:
uses: jeedom/workflows/.github/workflows/plugin.yml@main
32 changes: 20 additions & 12 deletions core/class/wazeintime.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ class wazeintime extends eqLogic {
public static $_widgetPossibility = array('custom' => true);

public static function cron() {
/** @var wazeintime */
foreach (eqLogic::byType(__CLASS__, true) as $eqLogic) {
$autorefresh = $eqLogic->getConfiguration('autorefresh', '');
$cronIsDue = false;
Expand All @@ -49,32 +50,38 @@ public function refreshRoutes() {
$start = $this->getPosition('start');
$end = $this->getPosition('end');

$row = ($this->getConfiguration('NOA')) ? '' : 'row-';
$row = ($this->getConfiguration('NOA')) ? '' : 'row-'; // FIXME: don't know which url to use for North America so deactivate for now, not sure anyone uses it

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FIXME: don't know which url to use for North America so deactivate for now, not sure anyone uses it

Maybe the answer will be there : https://community.jeedom.com/t/waze-in-time-ne-fonctionne-plus-pour-north-america/145606

$subConfig = $this->getConfiguration('subscription');
$subscription = ($subConfig == '') ? '' : "&subscription={$subConfig}";

$wazeRouteurl = 'https://www.waze.com/' . $row . 'RoutingManager/routingRequest?from=x%3A' . $start['lon'] . '+y%3A' . $start['lat'] . '&to=x%3A' . $end['lon'] . '+y%3A' . $end['lat'] . '&at=0&returnJSON=true&returnGeometries=true&returnInstructions=true&timeout=60000&nPaths=3&options=AVOID_TRAILS%3At' . $subscription;
log::add(__CLASS__, 'debug', "routeURL: {$wazeRouteurl}");
$request_http = new com_http($wazeRouteurl);
$request_http->setUserAgent('User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0' . hex2bin('0A') . 'referer: https://www.waze.com ');
$baseUrl = 'https://routing-livemap-row.waze.com/RoutingManager/routingRequest';
$userAgent = 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0' . hex2bin('0A') . 'referer: https://www.waze.com ';

$from = str_replace(':', '%3A', "x:{$start['lon']}+y:{$start['lat']}");
$to = str_replace(':', '%3A', "x:{$end['lon']}+y:{$end['lat']}");
$options = urlencode('AVOID_TRAILS:t');

$wazeRouteUrl = "{$baseUrl}?from={$from}&to={$to}&at=0&returnJSON=true&timeout=60000&nPaths=3&options={$options}{$subscription}";
log::add(__CLASS__, 'debug', "routeURL: {$wazeRouteUrl}");
$request_http = new com_http($wazeRouteUrl);
$request_http->setUserAgent($userAgent);
$json = json_decode($request_http->exec(60, 2), true);
if (isset($json['error'])) {
throw new Exception($json['error']);
}
$data = self::extractInfo($json);

$wazeRoutereturl = 'https://www.waze.com/' . $row . 'RoutingManager/routingRequest?from=x%3A' . $end['lon'] . '+y%3A' . $end['lat'] . '&to=x%3A' . $start['lon'] . '+y%3A' . $start['lat'] . '&at=0&returnJSON=true&returnGeometries=true&returnInstructions=true&timeout=60000&nPaths=3&options=AVOID_TRAILS%3At' . $subscription;
log::add(__CLASS__, 'debug', "routeURL: {$wazeRouteurl}");
$request_http = new com_http($wazeRoutereturl);
$request_http->setUserAgent('User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0' . hex2bin('0A') . 'referer: https://www.waze.com ');
$wazeRouteRetUrl = "{$baseUrl}?from={$to}&to={$from}&at=0&returnJSON=true&timeout=60000&nPaths=3&options={$options}{$subscription}";
log::add(__CLASS__, 'debug', "return routeURL: {$wazeRouteUrl}");
$request_http = new com_http($wazeRouteRetUrl);
$request_http->setUserAgent($userAgent);
$json = json_decode($request_http->exec(60, 2), true);
if (isset($json['error'])) {
throw new Exception($json['error']);
}
$data = array_merge($data, self::extractInfo($json, 'ret'));

log::add(__CLASS__, 'debug', 'Data: ' . print_r($data, true));

log::add(__CLASS__, 'debug', 'Result data: ' . print_r($data, true));
foreach ($this->getCmd('info') as $cmd) {
if ($cmd->getLogicalId() == 'lastrefresh') {
$cmd->event(date('H:i'));
Expand All @@ -94,7 +101,7 @@ public function refreshRoutes() {
}
}

public static function extractInfo($_data, $_prefix = '') {
public static function extractInfo(array $_data, string $_prefix = '') {
$return = array();
log::add(__CLASS__, 'debug', 'raw data:' . json_encode($_data));
if (isset($_data['alternatives'])) {
Expand Down Expand Up @@ -435,6 +442,7 @@ public function toHtml($_version = 'dashboard') {
class wazeintimeCmd extends cmd {
public function execute($_options = null) {
if ($this->getLogicalId() == 'refresh') {
/** @var wazeintime */
$eqlogic = $this->getEqLogic();
$eqlogic->refreshRoutes();
}
Expand Down
4 changes: 2 additions & 2 deletions core/i18n/en_US.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"Paramètres du trajet": "Trip parameters",
"Départ": "Departure",
"Manuel": "Manual",
"Commande": "Ordered",
"Commande": "Command",
"Latitude": "Latitude",
"48.856614": "48.856614",
"Longitude": "Longitude",
Expand All @@ -56,7 +56,7 @@
"Historiser": "Historize",
"Inverser": "Reverse",
"Min": "Minimum",
"Max": "Max",
"Max": "Maximum",
"Unité": "Unity",
"Supprimer la commande": "Delete order"
},
Expand Down
1 change: 0 additions & 1 deletion core/php/wazeintime.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,3 @@
require_once dirname(__FILE__) . '/../../../../core/php/core.inc.php';

include_file('core', 'wazeintime', 'class', 'wazeintime');
?>
10 changes: 10 additions & 0 deletions docs/de_DE/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,16 @@
>
>Zur Erinnerung: Wenn keine Informationen zum Update vorhanden sind, bedeutet dies, dass es sich nur um die Aktualisierung von Dokumentation, Übersetzung oder Text handelt

#

-
- .
-

# 29/06/2025

- Optimisation des requêtes vers Waze afin de réduire la latence

# 17.10.2022

- Befehlsliste für Jeedom v4.3 aktualisieren
Expand Down
10 changes: 10 additions & 0 deletions docs/en_US/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,16 @@
>
>As a reminder if there is no information on the update, it means that it only concerns the updating of documentation, translation or text

# 29/11/2025

- Fixed the URL used following a change by Waze
- Jeedom version 4.4 or higher required
- Debian version 11 or higher required

# 29/06/2025

- Optimized requests to Waze to reduce latency

# 10/17/2022

- Update command list for Jeedom v4.3
Expand Down
10 changes: 10 additions & 0 deletions docs/es_ES/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,16 @@
>
>Como recordatorio si no hay información sobre la actualización, significa que solo se refiere a la actualización de documentación, traducción o texto

#

-
- .
-

# 29/06/2025

- Optimisation des requêtes vers Waze afin de réduire la latence

# 17/10/2022

- Lista de comandos de actualización para Jeedom v4.3
Expand Down
10 changes: 10 additions & 0 deletions docs/fr_FR/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,16 @@
>
>Pour rappel s'il n'y a pas d'information sur la mise à jour, c'est que celle-ci concerne uniquement de la mise à jour de documentation, de traduction ou de texte

# 29/11/2025

- Correction de l'URL utilisée suite à un changement de Waze
- Version Jeedom 4.4 ou plus requis
- Version Debian 11 ou plus requis

# 29/06/2025

- Optimisation des requêtes vers Waze afin de réduire la latence

# 17/10/2022

- Mise à jour liste des commandes pour Jeedom v4.3
Expand Down
7 changes: 7 additions & 0 deletions docs/i18n/de_DE.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@
"changelog.md": {
"Changelog Waze in Time": "Changelog Waze in der Zeit",
"Pour rappel s'il n'y a pas d'information sur la mise à jour, c'est que celle-ci concerne uniquement de la mise à jour de documentation, de traduction ou de texte": "Zur Erinnerung: Wenn keine Informationen zum Update vorhanden sind, bedeutet dies, dass es sich nur um die Aktualisierung von Dokumentation, Übersetzung oder Text handelt",
"29\/11\/2025": "",
"Correction de l'URL utilisée suite à un changement de Waze": "",
"Version Jeedom 4": "",
"4 ou plus requis": "",
"Version Debian 11 ou plus requis": "",
"29\/06\/2025": "29\/06\/2025",
"Optimisation des requêtes vers Waze afin de réduire la latence": "Optimisation des requêtes vers Waze afin de réduire la latence",
"17\/10\/2022": "17.10.2022",
"Mise à jour liste des commandes pour Jeedom v4.3": "Befehlsliste für Jeedom v4.3 aktualisieren",
"17\/03\/2022": "17.03.2022",
Expand Down
7 changes: 7 additions & 0 deletions docs/i18n/en_US.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@
"changelog.md": {
"Changelog Waze in Time": "Changelog Waze in Time",
"Pour rappel s'il n'y a pas d'information sur la mise à jour, c'est que celle-ci concerne uniquement de la mise à jour de documentation, de traduction ou de texte": "As a reminder if there is no information on the update, it means that it only concerns the updating of documentation, translation or text",
"29\/11\/2025": "",
"Correction de l'URL utilisée suite à un changement de Waze": "",
"Version Jeedom 4": "",
"4 ou plus requis": "",
"Version Debian 11 ou plus requis": "",
"29\/06\/2025": "29\/06\/2025",
"Optimisation des requêtes vers Waze afin de réduire la latence": "Optimisation des requêtes vers Waze afin de réduire la latence",
"17\/10\/2022": "10\/17\/2022",
"Mise à jour liste des commandes pour Jeedom v4.3": "Update command list for Jeedom v4.3",
"17\/03\/2022": "03\/17\/2022",
Expand Down
7 changes: 7 additions & 0 deletions docs/i18n/es_ES.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@
"changelog.md": {
"Changelog Waze in Time": "Registro de cambios Waze in Time",
"Pour rappel s'il n'y a pas d'information sur la mise à jour, c'est que celle-ci concerne uniquement de la mise à jour de documentation, de traduction ou de texte": "Como recordatorio si no hay información sobre la actualización, significa que solo se refiere a la actualización de documentación, traducción o texto",
"29\/11\/2025": "",
"Correction de l'URL utilisée suite à un changement de Waze": "",
"Version Jeedom 4": "",
"4 ou plus requis": "",
"Version Debian 11 ou plus requis": "",
"29\/06\/2025": "29\/06\/2025",
"Optimisation des requêtes vers Waze afin de réduire la latence": "Optimisation des requêtes vers Waze afin de réduire la latence",
"17\/10\/2022": "17\/10\/2022",
"Mise à jour liste des commandes pour Jeedom v4.3": "Lista de comandos de actualización para Jeedom v4.3",
"17\/03\/2022": "17\/03\/2022",
Expand Down
7 changes: 7 additions & 0 deletions docs/i18n/fr_FR.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@
"Changelog Waze in Time": "Changelog Waze in Time",
"IMPORTANT": "IMPORTANT",
"Pour rappel s'il n'y a pas d'information sur la mise à jour, c'est que celle-ci concerne uniquement de la mise à jour de documentation, de traduction ou de texte": "Pour rappel s'il n'y a pas d'information sur la mise à jour, c'est que celle-ci concerne uniquement de la mise à jour de documentation, de traduction ou de texte",
"29\/11\/2025": "29\/11\/2025",
"Correction de l'URL utilisée suite à un changement de Waze": "Correction de l'URL utilisée suite à un changement de Waze",
"Version Jeedom 4": "Version Jeedom 4",
"4 ou plus requis": "4 ou plus requis",
"Version Debian 11 ou plus requis": "Version Debian 11 ou plus requis",
"29\/06\/2025": "29\/06\/2025",
"Optimisation des requêtes vers Waze afin de réduire la latence": "Optimisation des requêtes vers Waze afin de réduire la latence",
"17\/10\/2022": "17\/10\/2022",
"Mise à jour liste des commandes pour Jeedom v4.3": "Mise à jour liste des commandes pour Jeedom v4.3",
"17\/03\/2022": "17\/03\/2022",
Expand Down
7 changes: 7 additions & 0 deletions docs/i18n/pt_PT.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@
"changelog.md": {
"Changelog Waze in Time": "Registro de alterações Waze in Time",
"Pour rappel s'il n'y a pas d'information sur la mise à jour, c'est que celle-ci concerne uniquement de la mise à jour de documentation, de traduction ou de texte": "Como lembrete, se não houver informações sobre a atualização, isso significa que se trata apenas da atualização da documentação, tradução ou texto",
"29\/11\/2025": "",
"Correction de l'URL utilisée suite à un changement de Waze": "",
"Version Jeedom 4": "",
"4 ou plus requis": "",
"Version Debian 11 ou plus requis": "",
"29\/06\/2025": "29\/06\/2025",
"Optimisation des requêtes vers Waze afin de réduire la latence": "Optimisation des requêtes vers Waze afin de réduire la latence",
"17\/10\/2022": "17\/10\/2022",
"Mise à jour liste des commandes pour Jeedom v4.3": "Atualizar lista de comandos para Jeedom v4.3",
"17\/03\/2022": "17\/03\/2022",
Expand Down
10 changes: 10 additions & 0 deletions docs/pt_PT/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,16 @@
>
>Como lembrete, se não houver informações sobre a atualização, isso significa que se trata apenas da atualização da documentação, tradução ou texto

#

-
- .
-

# 29/06/2025

- Optimisation des requêtes vers Waze afin de réduire la latence

# 17/10/2022

- Atualizar lista de comandos para Jeedom v4.3
Expand Down
8 changes: 5 additions & 3 deletions plugin_info/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,11 @@
"tr": "Plugin pour avoir la durée de trajet entre deux points"
},
"licence": "AGPL",
"author": "Ludovic SARAKHA",
"require": "2.3",
"author": "Jeedom SAS",
"require": "4.4",
"os": {
"min": 11
},
"category": "travel",
"changelog": "https:\/\/doc.jeedom.com\/#language#\/plugins\/travel\/wazeintime\/changelog",
"documentation": "https:\/\/doc.jeedom.com\/#language#\/plugins\/travel\/wazeintime\/",
Expand All @@ -32,7 +35,6 @@
"tr"
],
"compatibility": [
"miniplus",
"smart",
"rpi",
"docker",
Expand Down
2 changes: 0 additions & 2 deletions plugin_info/install.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,3 @@ function wazeintime_update() {
$wazeintime->save();
}
}

?>
Loading