From 786db1449956d1d5bea581ca9139a0b26de9e804 Mon Sep 17 00:00:00 2001 From: GermanBluefox Date: Wed, 13 Feb 2019 13:36:40 +0100 Subject: [PATCH] ### 3.6.5 (2019-02-13) * (bluefox) Error with formatDate was fixed --- README.md | 3 +++ io-package.json | 14 ++++++++++++- javascript.js | 56 +++++++++++++++++++++++++++++++++++++++---------- package.json | 2 +- 4 files changed, 62 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 8121d31a..203797e2 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,9 @@ Hier kann man die Beschreibung von [Blockly](doc/de/blockly.md) finden. Описание по [blockly](doc/ru/blockly.md) можно найти [здесь](doc/ru/blockl.md). ## Changelog +### 3.6.5 (2019-02-13) +* (bluefox) Error with formatDate was fixed + ### 3.6.4 (2018-02-05) * (bluefox) Pattern error is fixed diff --git a/io-package.json b/io-package.json index 929aefa4..6bfba48a 100644 --- a/io-package.json +++ b/io-package.json @@ -1,7 +1,7 @@ { "common": { "name": "javascript", - "version": "3.6.4", + "version": "3.6.5", "title": "Script Engine", "titleLang": { "en": "Script Engine", @@ -20,6 +20,18 @@ "Apollon77 " ], "news": { + "3.6.5": { + "en": "Error with formatDate was fixed", + "de": "Fehler bei formatDate wurde behoben", + "ru": "Ошибка с formatDate была исправлена", + "pt": "Erro com formatDate foi corrigido", + "nl": "Fout met formatDate is opgelost", + "fr": "Erreur avec formatDate a été corrigé", + "it": "Errore con formatDate risolto", + "es": "El error con formatDate fue corregido", + "pl": "Naprawiono błąd z formatDate", + "zh-cn": "修复了formatDate的错误" + }, "3.6.4": { "en": "Pattern error is fixed", "de": "Musterfehler ist behoben", diff --git a/javascript.js b/javascript.js index 2f37ac1a..483adacd 100644 --- a/javascript.js +++ b/javascript.js @@ -290,7 +290,9 @@ if (id === 'system.config') { // set langugae for debug messages - if (objects['system.config'].common.language) words.setLanguage(objects['system.config'].common.language); + if (objects['system.config'].common && objects['system.config'].common.language) { + words.setLanguage(objects['system.config'].common.language); + } } return; @@ -2697,19 +2699,37 @@ script.onStopTimeout = timeout || 1000; }, formatValue: function (value, decimals, format) { - if (!format && objects['system.config']) { - format = objects['system.config'].common.isFloatComma ? '.,' : ',.'; + if (!format) { + if (adapter.isFloatComma !== undefined) { + format = adapter.isFloatComm ? '.,' : ',.'; + } else if (objects['system.config'] && objects['system.config'].common) { + format = objects['system.config'].common.isFloatComma ? '.,' : ',.'; + } } return adapter.formatValue(value, decimals, format); }, formatDate: function (date, format, language) { if (!format) { - format = objects['system.config'] ? (objects['system.config'].common.dateFormat || 'DD.MM.YYYY') : 'DD.MM.YYYY'; + if (adapter.dateFormat) { + format = adapter.dateFormat; + } else if (objects['system.config'] && objects['system.config'].common) { + format = objects['system.config'] ? (objects['system.config'].common.dateFormat || 'DD.MM.YYYY') : 'DD.MM.YYYY'; + } + format = format || 'DD.MM.YYYY'; } if (format.match(/W|Н|O|О/)) { var text = adapter.formatDate(date, format); - if (!language || !dayOfWeeksFull[language]) language = objects['system.config'].common.language; + if (!language || !dayOfWeeksFull[language]) { + if (adapter.language) { + language = adapter.language; + } else { + language = objects['system.config'] && objects['system.config'].common && objects['system.config'].common.language; + } + if (!dayOfWeeksFull[language]) { + language = 'de'; + } + } var d = date.getDay(); text = text.replace('WW', dayOfWeeksFull[language][d]); text = text.replace('НН', dayOfWeeksFull[language][d]); @@ -2826,7 +2846,11 @@ var timeoutMs = parseInt(options.timeout, 10) || 20000; if (!instance) { - instance = objects['system.config'] ? objects['system.config'].common.defaultHistory : null; + if (adapter.defaultHistory) { + instance = adapter.defaultHistory; + } else { + instance = objects['system.config'] && objects['system.config'].common ? objects['system.config'].common.defaultHistory : null; + } } if (sandbox.verbose) sandbox.log('getHistory(instance=' + instance + ', options=' + JSON.stringify(options) + ')', 'debug'); @@ -3327,14 +3351,24 @@ } addGetProperty(objects); + var systemConfig = objects['system.config']; + // set language for debug messages - if (objects['system.config'] && objects['system.config'].common.language) words.setLanguage(objects['system.config'].common.language); + if (systemConfig && systemConfig.common && systemConfig.common.language) { + words.setLanguage(systemConfig.common.language); + } else if (adapter.language) { + words.setLanguage(adapter.language); + } // try to use system coordinates - if (adapter.config.useSystemGPS && objects['system.config'] && - objects['system.config'].common.latitude) { - adapter.config.latitude = objects['system.config'].common.latitude; - adapter.config.longitude = objects['system.config'].common.longitude; + if (adapter.config.useSystemGPS) { + if (systemConfig && systemConfig.common && systemConfig.common.latitude) { + adapter.config.latitude = systemConfig.common.latitude; + adapter.config.longitude = systemConfig.common.longitude; + } else if (adapter.latitude) { + adapter.config.latitude = adapter.latitude; + adapter.config.longitude = adapter.longitude; + } } adapter.config.latitude = parseFloat(adapter.config.latitude); adapter.config.longitude = parseFloat(adapter.config.longitude); diff --git a/package.json b/package.json index e1534f9a..8f972399 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "iobroker.javascript", - "version": "3.6.4", + "version": "3.6.5", "description": "Javascript/Coffescript Script Engine for ioBroker", "author": "bluefox ", "contributors": [