Skip to content

Commit

Permalink
add fetch trip checkbox
Browse files Browse the repository at this point in the history
  • Loading branch information
TA2k committed Jan 16, 2024
1 parent a99f543 commit 9da706f
Show file tree
Hide file tree
Showing 4 changed files with 90 additions and 67 deletions.
30 changes: 18 additions & 12 deletions admin/index_m.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,18 @@
function load(settings, onChange) {
// example: select elements with id=key and class=value and insert value
if (!settings) return;
$(".value").each(function () {
$('.value').each(function () {
var $key = $(this);
var id = $key.attr("id");
if ($key.attr("type") === "checkbox") {
var id = $key.attr('id');
if ($key.attr('type') === 'checkbox') {
// do not call onChange direct, because onChange could expect some arguments
$key.prop("checked", settings[id]).on("change", () => onChange());
$key.prop('checked', settings[id]).on('change', () => onChange());
} else {
// do not call onChange direct, because onChange could expect some arguments
$key
.val(settings[id])
.on("change", () => onChange())
.on("keyup", () => onChange());
.on('change', () => onChange())
.on('keyup', () => onChange());
}
});
onChange(false);
Expand All @@ -43,14 +43,14 @@
function save(callback) {
// example: select elements with class=value and build settings object
var obj = {};
$(".value").each(function () {
$('.value').each(function () {
var $this = $(this);
if ($this.attr("type") === "checkbox") {
obj[$this.attr("id")] = $this.prop("checked");
} else if ($this.attr("type") === "number") {
obj[$this.attr("id")] = parseFloat($this.val());
if ($this.attr('type') === 'checkbox') {
obj[$this.attr('id')] = $this.prop('checked');
} else if ($this.attr('type') === 'number') {
obj[$this.attr('id')] = parseFloat($this.val());
} else {
obj[$this.attr("id")] = $this.val();
obj[$this.attr('id')] = $this.val();
}
});
callback(obj);
Expand Down Expand Up @@ -95,6 +95,12 @@
<label for="interval" class="translate">Update interval in minutes</label>
</div>
</div>
<div class="row">
<div class="col s6 input-field">
<input type="checkbox" class="value" id="fetchTrips" />
<label for="fetchTrips" class="translate">Fetch Trip Data</label>
</div>
</div>
</div>
</body>
</html>
113 changes: 63 additions & 50 deletions admin/words.js
Original file line number Diff line number Diff line change
@@ -1,53 +1,66 @@
/*global systemDictionary:true */
"use strict";
'use strict';

systemDictionary = {
"toyota adapter settings": {
"en": "Adapter settings for toyota",
"de": "Adaptereinstellungen für toyota",
"ru": "Настройки адаптера для toyota",
"pt": "Configurações do adaptador para toyota",
"nl": "Adapterinstellingen voor toyota",
"fr": "Paramètres d'adaptateur pour toyota",
"it": "Impostazioni dell'adattatore per toyota",
"es": "Ajustes del adaptador para toyota",
"pl": "Ustawienia adaptera dla toyota",
"zh-cn": "toyota的适配器设置"
},
"App Email": {
en: "App Email",
de: "App-E-Mail",
ru: "Электронная почта приложения",
pt: "Email do aplicativo",
nl: "App-e-mail",
fr: "Courriel de l'application",
it: "E-mail dell'app",
es: "Correo electrónico de la aplicación",
pl: "E-mail aplikacji",
"zh-cn": "应用电子邮件",
},
"App Password": {
en: "App Password",
de: "App-Passwort",
ru: "Пароль приложения",
pt: "Senha de app",
nl: "App-wachtwoord",
fr: "Mot de passe de l'application",
it: "Password dell'app",
es: "Contraseña de la aplicación",
pl: "Hasło do aplikacji",
"zh-cn": "应用密码",
},
"Update interval (in minutes)": {
en: "Update interval (in minutes)",
de: "Aktualisierungsintervall (in Minuten)",
ru: "Интервал обновления (в минутах)",
pt: "Intervalo de atualização (em minutos)",
nl: "Update-interval (in minuten)",
fr: "Intervalle de mise à jour (en minutes)",
it: "Intervallo di aggiornamento (in minuti)",
es: "Intervalo de actualización (en minutos)",
pl: "Interwał aktualizacji (w minutach)",
"zh-cn": "更新间隔(分钟)",
},
};
'toyota adapter settings': {
en: 'Adapter settings for toyota',
de: 'Adaptereinstellungen für toyota',
ru: 'Настройки адаптера для toyota',
pt: 'Configurações do adaptador para toyota',
nl: 'Adapterinstellingen voor toyota',
fr: "Paramètres d'adaptateur pour toyota",
it: "Impostazioni dell'adattatore per toyota",
es: 'Ajustes del adaptador para toyota',
pl: 'Ustawienia adaptera dla toyota',
'zh-cn': 'toyota的适配器设置',
},
'App Email': {
en: 'App Email',
de: 'App-E-Mail',
ru: 'Электронная почта приложения',
pt: 'Email do aplicativo',
nl: 'App-e-mail',
fr: "Courriel de l'application",
it: "E-mail dell'app",
es: 'Correo electrónico de la aplicación',
pl: 'E-mail aplikacji',
'zh-cn': '应用电子邮件',
},
'App Password': {
en: 'App Password',
de: 'App-Passwort',
ru: 'Пароль приложения',
pt: 'Senha de app',
nl: 'App-wachtwoord',
fr: "Mot de passe de l'application",
it: "Password dell'app",
es: 'Contraseña de la aplicación',
pl: 'Hasło do aplikacji',
'zh-cn': '应用密码',
},
'Update interval (in minutes)': {
en: 'Update interval (in minutes)',
de: 'Aktualisierungsintervall (in Minuten)',
ru: 'Интервал обновления (в минутах)',
pt: 'Intervalo de atualização (em minutos)',
nl: 'Update-interval (in minuten)',
fr: 'Intervalle de mise à jour (en minutes)',
it: 'Intervallo di aggiornamento (in minuti)',
es: 'Intervalo de actualización (en minutos)',
pl: 'Interwał aktualizacji (w minutach)',
'zh-cn': '更新间隔(分钟)',
},
'Fetch Trips': {
en: 'Fetch Trip Data',
de: 'Trip Daten abrufen',
ru: 'Получить данные Trip',
pt: 'Dados de viagem',
nl: 'Reisgegevens ophalen',
fr: 'Récupération des données de voyage',
it: 'Dati di viaggio a pagamento',
es: 'Datos de viaje',
pl: 'Pobierz dane dotyczące podróży',
uk: 'Fetch Trip Дані',
'zh-cn': '获取 Trip 数据',
},
};
3 changes: 2 additions & 1 deletion io-package.json
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,8 @@
"username": "",
"password": "",
"type": "toyota",
"interval": 10
"interval": 10,
"fetchTrips": false
},
"objects": [],
"instanceObjects": [
Expand Down
11 changes: 7 additions & 4 deletions main.js
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,16 @@ class Toyota extends utils.Adapter {
this.log.info('Get Vehicles');
await this.getDeviceList();
await this.updateDevices();
await this.getHistory();
if (this.config.fetchTrips) {
await this.getHistory();
this.historyInterval = setInterval(async () => {
await this.getHistory();
}, 12 * 60 * 60 * 1000);
}
this.updateInterval = setInterval(async () => {
await this.updateDevices();
}, this.config.interval * 60 * 1000);
this.historyInterval = setInterval(async () => {
await this.getHistory();
}, 12 * 60 * 60 * 1000);

this.refreshTokenInterval = setInterval(() => {
this.refreshToken();
}, 3500 * 1000);
Expand Down

0 comments on commit 9da706f

Please sign in to comment.