Merge pull request #62 from arendst/development

Update from Tasmota
This commit is contained in:
Adrian Scillato 2018-04-19 16:59:44 -03:00 committed by GitHub
commit 282e7b96cc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 534 additions and 68 deletions

View File

@ -18,6 +18,7 @@ src_dir = sonoff
;env_default = sonoff-DE ;env_default = sonoff-DE
;env_default = sonoff-ES ;env_default = sonoff-ES
;env_default = sonoff-FR ;env_default = sonoff-FR
;env_default = sonoff-GR
;env_default = sonoff-HU ;env_default = sonoff-HU
;env_default = sonoff-IT ;env_default = sonoff-IT
;env_default = sonoff-NL ;env_default = sonoff-NL
@ -139,6 +140,20 @@ extra_scripts = pio/strip-floats.py
; *** Serial Monitor options ; *** Serial Monitor options
monitor_baud = 115200 monitor_baud = 115200
[env:sonoff-GR]
;platform = espressif8266@1.5.0 ; v2.3.0
;platform = espressif8266@1.6.0 ; v2.4.0
platform = espressif8266
framework = arduino
board = esp01_1m
board_flash_mode = dout
build_flags = -Wl,-Tesp8266.flash.1m0.ld -DMY_LANGUAGE=el-GR
;build_flags = -Wl,-Tesp8266.flash.1m0.ld -DMY_LANGUAGE=el-GR -DUSE_CONFIG_OVERRIDE
extra_scripts = pio/strip-floats.py
; *** Serial Monitor options
monitor_baud = 115200
[env:sonoff-HU] [env:sonoff-HU]
;platform = espressif8266@1.5.0 ; v2.3.0 ;platform = espressif8266@1.5.0 ; v2.3.0
;platform = espressif8266@1.6.0 ; v2.4.0 ;platform = espressif8266@1.6.0 ; v2.4.0

View File

@ -2,7 +2,9 @@
* Reinit timers to accomodate random window (#2447) * Reinit timers to accomodate random window (#2447)
* Add random window to timers (#2447) * Add random window to timers (#2447)
* Add optional KNX IP Protocol Support (#2402) * Add optional KNX IP Protocol Support (#2402)
* Add Greek language file (#2491)
* Fix compile error when using ESP/Arduino library v2.3.0 by reverting KNX async UDP library to default UDP library (#2488,#2492,#2493) * Fix compile error when using ESP/Arduino library v2.3.0 by reverting KNX async UDP library to default UDP library (#2488,#2492,#2493)
* Fix configuration filename truncation when it contains spaces (#2484, #2490)
* *
* 5.12.0l * 5.12.0l
* Release rules up to 511 characters * Release rules up to 511 characters

View File

@ -227,7 +227,6 @@
#define D_CMND_SERIALSEND "SerialSend" #define D_CMND_SERIALSEND "SerialSend"
#define D_CMND_SERIALDELIMITER "SerialDelimiter" #define D_CMND_SERIALDELIMITER "SerialDelimiter"
#define D_CMND_BAUDRATE "Baudrate" #define D_CMND_BAUDRATE "Baudrate"
#define D_CMND_EXCEPTION "Exception"
// Commands xdrv_00_mqtt.ino // Commands xdrv_00_mqtt.ino
#define D_CMND_MQTTHOST "MqttHost" #define D_CMND_MQTTHOST "MqttHost"

501
sonoff/language/el-GR.h Normal file
View File

@ -0,0 +1,501 @@
/*
el-GR.h - localization for Greek - Greece for Sonoff-Tasmota
Copyright (C) 2018 Harry Kandiloros
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _LANGUAGE_EL_GR_H_
#define _LANGUAGE_EL_GR_H_
/*************************** ATTENTION *******************************\
*
* Due to memory constraints only UTF-8 is supported.
* To save code space keep text as short as possible.
* Time and Date provided by SDK can not be localized (yet).
* Use online command StateText to translate ON, OFF, HOLD and TOGGLE.
* Use online command Prefix to translate cmnd, stat and tele.
*
* Updated until v5.12.0m
\*********************************************************************/
//#define LANGUAGE_MODULE_NAME // Enable to display "Module Generic" (ie Spanish), Disable to display "Generic Module" (ie English)
// HTML (ISO 639-1) Language Code
#define D_HTML_LANGUAGE "el"
// "2017-03-07T11:08:02" - ISO8601:2004
#define D_YEAR_MONTH_SEPARATOR "-"
#define D_MONTH_DAY_SEPARATOR "-"
#define D_DATE_TIME_SEPARATOR "T"
#define D_HOUR_MINUTE_SEPARATOR ":"
#define D_MINUTE_SECOND_SEPARATOR ":"
#define D_DAY3LIST "ΚυρΔευΤριΤετΠεμΠαρΣαβ"
#define D_MONTH3LIST "ΙανΦεβΜαρΑπρΜαϊΙονΙολΑυγΣεπΟκτΝοεΔεκ"
// Non JSON decimal separator
#define D_DECIMAL_SEPARATOR ","
// Common
#define D_ADMIN "Admin"
#define D_AIR_QUALITY "Ποιότητα Αέρα"
#define D_AP "AP" // Access Point
#define D_AS "as"
#define D_AUTO "ΑΥΤΟΜΑΤΟ"
#define D_BLINK "Αναβοσβήνει"
#define D_BLINKOFF "Δεν αναβοσβήνει"
#define D_BOOT_COUNT "Αριθμός εκκινήσεων"
#define D_BRIGHTLIGHT "Λαμπερό"
#define D_BUTTON "Κουμπί"
#define D_BY "από" // Written by me
#define D_BYTES "Bytes"
#define D_CELSIUS "Κελσίου"
#define D_CO2 "Διοξείδιο του άνθρακα"
#define D_CODE "κώδικας" // Button code
#define D_COLDLIGHT "Ψυχρός"
#define D_COMMAND "Εντολή"
#define D_CONNECTED "Συνδεδεμένο"
#define D_COUNT "Μέτρημα"
#define D_COUNTER "Μετρητής"
#define D_CURRENT "Τάση ρεύματος" // As in Voltage and Current
#define D_DATA "Δεδομένα"
#define D_DARKLIGHT "Σκούρο"
#define D_DEBUG "Debug"
#define D_DISABLED "Απενεργοποιημένο"
#define D_DNS_SERVER "Διακομιστής DNS"
#define D_DONE "Εγινε"
#define D_DST_TIME "DST"
#define D_ECO2 "eCO2"
#define D_EMULATION "Emulation"
#define D_ENABLED "Ενεργό"
#define D_ERASE "Σβήσιμο"
#define D_ERROR "Σφάλμα"
#define D_FAHRENHEIT "Φαρενάιτ"
#define D_FAILED "Αποτυχία"
#define D_FALLBACK "Εφεδρικό"
#define D_FALLBACK_TOPIC "Εφεδρικό θέμα"
#define D_FALSE "Λάθος"
#define D_FILE "Αρχείο"
#define D_FREE_MEMORY "Ελεύθερη Μνήμη"
#define D_GAS "Γκάζι"
#define D_GATEWAY "Πύλη"
#define D_GROUP "Ομάδα"
#define D_HOST "Host"
#define D_HOSTNAME "Hostname"
#define D_HUMIDITY "Υγρασία"
#define D_ILLUMINANCE "Illuminance"
#define D_IMMEDIATE "Φωτεινότητα" // Button immediate
#define D_INDEX "Κατάλογος"
#define D_INFO "Πληροφορίες"
#define D_INITIALIZED "Αρχικό"
#define D_IP_ADDRESS "IP Address"
#define D_LIGHT "Light"
#define D_LWT "LWT"
#define D_MODULE "Module"
#define D_MQTT "MQTT"
#define D_MULTI_PRESS "πολλαπλή πίεση"
#define D_NOISE "θόρυβος"
#define D_NONE "Κανένα"
#define D_OFF "Κλειστό"
#define D_OFFLINE "Offline"
#define D_OK "Ok"
#define D_ON "Ανοιχτό"
#define D_ONLINE "Online"
#define D_PASSWORD "ΚωδικόςPassword"
#define D_PORT "Πόρτα"
#define D_POWER_FACTOR "Παράγοντας ισχύος"
#define D_POWERUSAGE "Ισχύης"
#define D_PRESSURE "Πίεση"
#define D_PRESSUREATSEALEVEL "Πίεση στην επιφάνεια της Θάλασσας"
#define D_PROGRAM_FLASH_SIZE "Μέγεθος Προγράμματος Flash"
#define D_PROGRAM_SIZE "Μέγεθος Προγράμματος"
#define D_PROJECT "Έργο"
#define D_RECEIVED "Λήψη"
#define D_RESTART "Επανεκκίνηση"
#define D_RESTARTING "Επανεκκίνηση"
#define D_RESTART_REASON "Λόγος Επανεκκίνησης"
#define D_RESTORE "επαναφορά"
#define D_RETAINED "διατηρούνται"
#define D_RULE "Κανόνας"
#define D_SAVE "Αποθήκευση"
#define D_SENSOR "Σένσορας"
#define D_SSID "SSId"
#define D_START "Έναρξη"
#define D_STD_TIME "STD"
#define D_STOP "Στοπ"
#define D_SUBNET_MASK "Μάσκα υποδικτύου"
#define D_SUBSCRIBE_TO "Εγγραφή στο"
#define D_SUCCESSFUL "Επιτυχής"
#define D_SUNRISE "Σούρουπο"
#define D_SUNSET "Ηλιοβασίλεμα"
#define D_TEMPERATURE "Θερμοκρασία"
#define D_TO "στο"
#define D_TOGGLE "Εναλλαγή"
#define D_TOPIC "Θέμα"
#define D_TRANSMIT "Μετάδοση"
#define D_TRUE "Σωστό"
#define D_TVOC "TVOC"
#define D_UPGRADE "αναβάθμιση"
#define D_UPLOAD "Ανέβασμα"
#define D_UPTIME "Uptime"
#define D_USER "Χρήστης"
#define D_UTC_TIME "UTC"
#define D_UV_LEVEL "Επίπεδο UV"
#define D_VERSION "Έκδοση"
#define D_VOLTAGE "Τάση"
#define D_WARMLIGHT "Ζεστό"
#define D_WEB_SERVER "Web διακομιστής"
// sonoff.ino
#define D_WARNING_MINIMAL_VERSION "ΠΡΟΕΙΔΟΠΟΙΗΣΗ Αυτή η έκδοση δεν αποθηκεύει τις ρυθμίσεις"
#define D_LEVEL_10 "επίπεδο 1-0"
#define D_LEVEL_01 "επίπεδο 0-1"
#define D_SERIAL_LOGGING_DISABLED "Η σειριακής καταγραφή απενεργοποιήθηκε"
#define D_SYSLOG_LOGGING_REENABLED "Η καταγραφή Syslog είναι ενεργοποιημένη"
#define D_SET_BAUDRATE_TO "Ρύθμιση Baudrate σε"
#define D_RECEIVED_TOPIC "Λήψη θεμάτων"
#define D_DATA_SIZE "Μέγεθος δεδομένων"
#define D_ANALOG_INPUT "Αναλογικό"
// support.ino
#define D_OSWATCH "osWatch"
#define D_BLOCKED_LOOP "Blocked Loop"
#define D_WPS_FAILED_WITH_STATUS "WPSconfig FAILED with status"
#define D_ACTIVE_FOR_3_MINUTES "active for 3 minutes"
#define D_FAILED_TO_START "failed to start"
#define D_PATCH_ISSUE_2186 "Patch issue 2186"
#define D_CONNECTING_TO_AP "Connecting to AP"
#define D_IN_MODE "in mode"
#define D_CONNECT_FAILED_NO_IP_ADDRESS "Connect failed as no IP address received"
#define D_CONNECT_FAILED_AP_NOT_REACHED "Connect failed as AP cannot be reached"
#define D_CONNECT_FAILED_WRONG_PASSWORD "Connect failed with AP incorrect password"
#define D_CONNECT_FAILED_AP_TIMEOUT "Connect failed with AP timeout"
#define D_ATTEMPTING_CONNECTION "Attempting connection..."
#define D_CHECKING_CONNECTION "Checking connection..."
#define D_QUERY_DONE "Query done. MQTT services found"
#define D_MQTT_SERVICE_FOUND "MQTT service found on"
#define D_FOUND_AT "found at"
#define D_SYSLOG_HOST_NOT_FOUND "Syslog Host not found"
// settings.ino
#define D_SAVED_TO_FLASH_AT "Εγινε flash στην θέση"
#define D_LOADED_FROM_FLASH_AT "Φορτώθηκε από την flash στην θέση"
#define D_USE_DEFAULTS "Χρήση προεπιλογών"
#define D_ERASED_SECTOR "Διαγραμμένος τομέας"
// webserver.ino
#define D_MINIMAL_FIRMWARE_PLEASE_UPGRADE "MINIMAL firmware - παρακαλώ αναβαθμήστε"
#define D_WEBSERVER_ACTIVE_ON "Web διακομιστής ενεργός"
#define D_WITH_IP_ADDRESS "με διεύθυνση IP"
#define D_WEBSERVER_STOPPED "Web διακομιστής σταμάτησε"
#define D_FILE_NOT_FOUND "Το αρχείο δεν βρέθηκε"
#define D_REDIRECTED "Ανακατεύθυνση σε captive portal"
#define D_WIFIMANAGER_SET_ACCESSPOINT_AND_STATION "Wifimanager set AccessPoint and keep Station"
#define D_WIFIMANAGER_SET_ACCESSPOINT "Wifimanager set AccessPoint"
#define D_TRYING_TO_CONNECT "Προσπάθεια σύνδεσης της συσκευής στο δίκτυο"
#define D_RESTART_IN "Επανεκκίνηση σε"
#define D_SECONDS "δευτερόλεπτα"
#define D_DEVICE_WILL_RESTART "Η συσκευή θα ξεκινήσει ξανά σε λίγα δευτερόλεπτα"
#define D_BUTTON_TOGGLE "Εναλλαγή"
#define D_CONFIGURATION "Ρύθμιση"
#define D_INFORMATION "Πληροφορίες"
#define D_FIRMWARE_UPGRADE "Αναβάθμιση Firmware"
#define D_CONSOLE "Κονσόλα"
#define D_CONFIRM_RESTART "Επιβεβαίωση Επανεκκίνησης"
#define D_CONFIGURE_MODULE "Ρύθμιση Module"
#define D_CONFIGURE_WIFI "Ρύθμιση WiFi"
#define D_CONFIGURE_MQTT "Ρύθμιση MQTT"
#define D_CONFIGURE_DOMOTICZ "Ρύθμιση Domoticz"
#define D_CONFIGURE_LOGGING "Ρύθμιση καταγραφής"
#define D_CONFIGURE_OTHER "Άλλες Ρυθμίσεις"
#define D_CONFIRM_RESET_CONFIGURATION "Confirm Reset Configuration"
#define D_RESET_CONFIGURATION "Επαναφορά Ρυθμίσεων"
#define D_BACKUP_CONFIGURATION "Αντίγραφα Ασφαλείας Ρυθμίσεων"
#define D_RESTORE_CONFIGURATION "Επαναφορά Ρυθμίσεων"
#define D_MAIN_MENU "Κεντρικό Μενού"
#define D_MODULE_PARAMETERS "Παράμετροι Module"
#define D_MODULE_TYPE "Είδος Module"
#define D_GPIO "GPIO"
#define D_SERIAL_IN "Serial In"
#define D_SERIAL_OUT "Serial Out"
#define D_WIFI_PARAMETERS "Παράμετροι Wifi"
#define D_SCAN_FOR_WIFI_NETWORKS "Σάρωση για δίκτυα wifi"
#define D_SCAN_DONE "Ολοκλήρωση σάρωσης"
#define D_NO_NETWORKS_FOUND "Δεν βρέθηκαν δίκτυα"
#define D_REFRESH_TO_SCAN_AGAIN "Ανανέωση για επανάληψη σάρωσης"
#define D_DUPLICATE_ACCESSPOINT "Duplicate AccessPoint"
#define D_SKIPPING_LOW_QUALITY "Παράλειψη λόγω χαμηλού σήματος"
#define D_RSSI "RSSI"
#define D_WEP "WEP"
#define D_WPA_PSK "WPA PSK"
#define D_WPA2_PSK "WPA2 PSK"
#define D_AP1_SSID "AP1 SSId"
#define D_AP1_PASSWORD "AP1 Κωδικός"
#define D_AP2_SSID "AP2 SSId"
#define D_AP2_PASSWORD "AP2 Κωδικός"
#define D_MQTT_PARAMETERS "MQTT Παράμετροι"
#define D_CLIENT "Πελάτης"
#define D_FULL_TOPIC "Full Topic"
#define D_LOGGING_PARAMETERS "Παράμετροι καταγραφής"
#define D_SERIAL_LOG_LEVEL "Επίπεδο καταγραφής Serial"
#define D_WEB_LOG_LEVEL "Επίπεδο καταγραφής Web"
#define D_SYS_LOG_LEVEL "Επίπεδο καταγραφής Syslog"
#define D_MORE_DEBUG "Επιπλέον debug"
#define D_SYSLOG_HOST "Υπολογιστής Syslog"
#define D_SYSLOG_PORT "Πόρτα Syslog"
#define D_TELEMETRY_PERIOD "Χρόνος τηλεμετρίας"
#define D_OTHER_PARAMETERS "Άλλες Παράμετροι"
#define D_WEB_ADMIN_PASSWORD "Web Admin Κωδικός"
#define D_MQTT_ENABLE "MQTT Ενεργό"
#define D_FRIENDLY_NAME "Φιλικό Όνομα"
#define D_BELKIN_WEMO "Belkin WeMo"
#define D_HUE_BRIDGE "Hue Bridge"
#define D_SINGLE_DEVICE "μονή συσκευή"
#define D_MULTI_DEVICE "πολλαπλή συσκευή"
#define D_SAVE_CONFIGURATION "Αποθήκευση Ρυθμίσεων"
#define D_CONFIGURATION_SAVED "Οι ρυθμίσεις αποθηκεύτηκαν"
#define D_CONFIGURATION_RESET "Επαναφορά ρυθμίσεων"
#define D_PROGRAM_VERSION "Εκδοση προγράμματος"
#define D_BUILD_DATE_AND_TIME "Ημερομηνία και Ώρα Build"
#define D_CORE_AND_SDK_VERSION "Core/SDK Version"
#define D_FLASH_WRITE_COUNT "Μετρητής εγγραφών Flash"
#define D_MAC_ADDRESS "MAC Address"
#define D_MQTT_HOST "MQTT Host"
#define D_MQTT_PORT "MQTT Port"
#define D_MQTT_CLIENT "MQTT Client"
#define D_MQTT_USER "MQTT User"
#define D_MQTT_TOPIC "MQTT Topic"
#define D_MQTT_GROUP_TOPIC "MQTT Group Topic"
#define D_MQTT_FULL_TOPIC "MQTT Full Topic"
#define D_MDNS_DISCOVERY "mDNS Discovery"
#define D_MDNS_ADVERTISE "mDNS Advertise"
#define D_ESP_CHIP_ID "ESP Chip Id"
#define D_FLASH_CHIP_ID "Flash Chip Id"
#define D_FLASH_CHIP_SIZE "Μέγεθος Flash"
#define D_FREE_PROGRAM_SPACE "Ελεύθερος Χώρος Προγράμματος"
#define D_UPGRADE_BY_WEBSERVER "αναβάθμιση από τον διακομιστή web"
#define D_OTA_URL "OTA Url"
#define D_START_UPGRADE "Εκκίνηση αναβάθμισης"
#define D_UPGRADE_BY_FILE_UPLOAD "Αναβάθμιση με ανέβασμα αρχείου"
#define D_UPLOAD_STARTED "Το ανέβασμα ξεκίνησε"
#define D_UPGRADE_STARTED "Η αναβάθμιση ξεκίνησε"
#define D_UPLOAD_DONE "Το ανέβασμα ολοκληρώθηκε"
#define D_UPLOAD_ERR_1 "Δεν έχει επιλεγεί αρχείο"
#define D_UPLOAD_ERR_2 "Δεν υπάρχει αρκετός χώρος"
#define D_UPLOAD_ERR_3 "Magic byte δεν είναι 0xE9"
#define D_UPLOAD_ERR_4 "Το μέγεθος του προγράμματος flash είναι μεγαλύτερο από το πραγματικό μέγεθος του flash"
#define D_UPLOAD_ERR_5 "Upload buffer miscompare"
#define D_UPLOAD_ERR_6 "Το ανέβασμα απέτυχε. Επιλέξτε επίπεδο καταγραφής 3"
#define D_UPLOAD_ERR_7 "Το ανεβάσμα διακόπηκε"
#define D_UPLOAD_ERR_8 "Μη έγκυρο αρχείο"
#define D_UPLOAD_ERR_9 "Το αρχείο είναι πολύ μεγάλο"
#define D_UPLOAD_ERROR_CODE "Κωδικός λάθους ανεβάσματος"
#define D_ENTER_COMMAND "Εισαγωγή εντολής"
#define D_ENABLE_WEBLOG_FOR_RESPONSE "Ενεργοποιήστε το weblog 2 αν περιμένετε απάντηση"
#define D_NEED_USER_AND_PASSWORD "Χρειάζεστε user=<όνομα χρήστη>&password=<κωδικό χρήστη>"
// xdrv_00_mqtt.ino
#define D_FINGERPRINT "Επαλήθευση TLS fingerprint..."
#define D_TLS_CONNECT_FAILED_TO "Αποτυχία TLS σύνδεσης"
#define D_RETRY_IN "Επανάληψη σε"
#define D_VERIFIED "Επαλήθευση με Fingerprint"
#define D_INSECURE "Μη ασφαλής σύνδεση λόγο ακατάλληλου Fingerprint"
#define D_CONNECT_FAILED_TO "Αποτυχία σύνδεσης στο"
// xdrv_wemohue.ino
#define D_MULTICAST_DISABLED "Multicast απενεργοποιημένο"
#define D_MULTICAST_REJOINED "Multicast επανασύνδεση"
#define D_MULTICAST_JOIN_FAILED "Αποτυχία σύνδεσης Multicast"
#define D_FAILED_TO_SEND_RESPONSE "Αποτυχία αποστολής απάντησης"
#define D_WEMO "WeMo"
#define D_WEMO_BASIC_EVENT "WeMo βασικό event"
#define D_WEMO_EVENT_SERVICE "WeMo υπηρεσία event"
#define D_WEMO_META_SERVICE "WeMo υπηρεσία meta"
#define D_WEMO_SETUP "WeMo ρυθμίσεις"
#define D_RESPONSE_SENT "Αποστολή απάντησης"
#define D_HUE "Hue"
#define D_HUE_BRIDGE_SETUP "Hue ρυθμίσεις"
#define D_HUE_API_NOT_IMPLEMENTED "Hue API δεν έχει υλοποιηθεί"
#define D_HUE_API "Hue API"
#define D_HUE_POST_ARGS "Hue POST args"
#define D_3_RESPONSE_PACKETS_SENT "3πλο πακέτο απάντησεης στάλθηκε"
// xdrv_05_domoticz.ino
#define D_DOMOTICZ_PARAMETERS "Domoticz παράμετροι"
#define D_DOMOTICZ_IDX "Idx"
#define D_DOMOTICZ_KEY_IDX "Key idx"
#define D_DOMOTICZ_SWITCH_IDX "Switch idx"
#define D_DOMOTICZ_SENSOR_IDX "Sensor idx"
#define D_DOMOTICZ_TEMP "Temp"
#define D_DOMOTICZ_TEMP_HUM "Temp,Hum"
#define D_DOMOTICZ_TEMP_HUM_BARO "Temp,Hum,Baro"
#define D_DOMOTICZ_POWER_ENERGY "Power,Energy"
#define D_DOMOTICZ_ILLUMINANCE "Illuminance"
#define D_DOMOTICZ_COUNT "Count/PM1"
#define D_DOMOTICZ_VOLTAGE "Voltage/PM2.5"
#define D_DOMOTICZ_CURRENT "Current/PM10"
#define D_DOMOTICZ_AIRQUALITY "Ποιότητα Αέρα"
#define D_DOMOTICZ_UPDATE_TIMER "Ενημέρωση"
// xdrv_09_timers.ino
#define D_CONFIGURE_TIMER "Ρυθμίσεις Χρόνου"
#define D_TIMER_PARAMETERS "Χρονικοί παράμετροι"
#define D_TIMER_ARM "Arm"
#define D_TIMER_TIME "Ωρα"
#define D_TIMER_DAYS "Μέρες"
#define D_TIMER_REPEAT "Επανάληψη"
#define D_TIMER_OUTPUT "Αποτέλεσμα"
#define D_TIMER_ACTION "Εντολή"
// xdrv_10_knx.ino
#define D_CONFIGURE_KNX "Ρυθμίσεις KNX"
#define D_KNX_PARAMETERS "KNX Παράμετροι"
#define D_KNX_GENERAL_CONFIG "Γενικά"
#define D_KNX_PHYSICAL_ADDRESS "Διεύθυνση Μνήμης"
#define D_KNX_PHYSICAL_ADDRESS_NOTE "( Πρέπει να είναι μοναδική στο KNX δίκτυο )"
#define D_KNX_ENABLE "Ενεργοποιημένο KNX"
#define D_KNX_GROUP_ADDRESS_TO_WRITE "Αποστολή δεδομένων σε Ομάδα Διευθύνσεων"
#define D_ADD "Προσθήκη"
#define D_DELETE "Διαγραφή"
#define D_REPLY "Επανάληψη"
#define D_KNX_GROUP_ADDRESS_TO_READ "Ομάδα Διευθύνσεων που θα λάβει τα Δεδομένα"
#define D_LOG_KNX "KNX: "
#define D_RECEIVED_FROM "Στάλθηκε από"
#define D_KNX_COMMAND_WRITE "Εγγραφή"
#define D_KNX_COMMAND_READ "Ανάγνωση"
#define D_KNX_COMMAND_OTHER "Αλλο"
#define D_SENT_TO "αποστολή σε"
#define D_KNX_WARNING "Η Ομάδα Διευθύνσεων ( 0 / 0 / 0 ) είναι δεσμευμένη και δεν μπορεί να χρησιμοποιηθεί."
// xdrv_03_energy.ino
#define D_ENERGY_TODAY "Energy Σήμερα"
#define D_ENERGY_YESTERDAY "Energy Χτες"
#define D_ENERGY_TOTAL "Energy Συνολικά"
// xsns_05_ds18b20.ino
#define D_SENSOR_BUSY "Απασχολημένος Σένσορας"
#define D_SENSOR_CRC_ERROR "CRC λάθος σένσορα"
#define D_SENSORS_FOUND "Βρέθηκε σένσορας"
// xsns_06_dht.ino
#define D_TIMEOUT_WAITING_FOR "Timeout περιμένετε για"
#define D_START_SIGNAL_LOW "εκκίνηση με χαμηλό σήμα"
#define D_START_SIGNAL_HIGH "εκκίνηση με υψηλό σήμα"
#define D_PULSE "παλμός"
#define D_CHECKSUM_FAILURE "Αποτυχία Checksum"
// xsns_07_sht1x.ino
#define D_SENSOR_DID_NOT_ACK_COMMAND "Ο σένσορας δεν έλαβε την εντολή ACK"
#define D_SHT1X_FOUND "Βρέθηκε SHT1X"
// xsns_18_pms5003.ino
#define D_STANDARD_CONCENTRATION "CF-1 PM" // Standard Particle CF-1 Particle Matter
#define D_ENVIRONMENTAL_CONCENTRATION "PM" // Environmetal Particle Matter
#define D_PARTICALS_BEYOND "Particals"
// sonoff_template.h
#define D_SENSOR_NONE "Κανένας"
#define D_SENSOR_DHT11 "DHT11"
#define D_SENSOR_AM2301 "AM2301"
#define D_SENSOR_SI7021 "SI7021"
#define D_SENSOR_DS18X20 "DS18x20"
#define D_SENSOR_I2C_SCL "I2C SCL"
#define D_SENSOR_I2C_SDA "I2C SDA"
#define D_SENSOR_WS2812 "WS2812"
#define D_SENSOR_IRSEND "IRsend"
#define D_SENSOR_SWITCH "Διακόπτης" // Suffix "1"
#define D_SENSOR_BUTTON "Κουμπί" // Suffix "1"
#define D_SENSOR_RELAY "Ρελέ" // Suffix "1i"
#define D_SENSOR_LED "Led" // Suffix "1i"
#define D_SENSOR_PWM "PWM" // Suffix "1"
#define D_SENSOR_COUNTER "Μετρητής" // Suffix "1"
#define D_SENSOR_IRRECV "IRrecv"
#define D_SENSOR_MHZ_RX "MHZ Rx"
#define D_SENSOR_MHZ_TX "MHZ Tx"
#define D_SENSOR_PZEM_RX "PZEM Rx"
#define D_SENSOR_PZEM_TX "PZEM Tx"
#define D_SENSOR_SAIR_RX "SAir Rx"
#define D_SENSOR_SAIR_TX "SAir Tx"
#define D_SENSOR_SPI_CS "SPI CS"
#define D_SENSOR_SPI_DC "SPI DC"
#define D_SENSOR_BACKLIGHT "BkLight"
#define D_SENSOR_PMS5003 "PMS5003"
#define D_SENSOR_SDS0X1 "SDS0X1"
#define D_SENSOR_SBR_RX "SerBr Rx"
#define D_SENSOR_SBR_TX "SerBr Tx"
// Units
#define D_UNIT_AMPERE "A"
#define D_UNIT_HOUR "Hr"
#define D_UNIT_KILOOHM "kOhm"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "ug/m3"
#define D_UNIT_MICROMETER "um"
#define D_UNIT_MICROSECOND "us"
#define D_UNIT_MILLIAMPERE "mA"
#define D_UNIT_MILLISECOND "ms"
#define D_UNIT_MINUTE "Min"
#define D_UNIT_PARTS_PER_BILLION "ppb"
#define D_UNIT_PARTS_PER_DECILITER "ppd"
#define D_UNIT_PARTS_PER_MILLION "ppm"
#define D_UNIT_PRESSURE "hPa"
#define D_UNIT_SECOND "sec"
#define D_UNIT_SECTORS "sectors"
#define D_UNIT_VOLT "V"
#define D_UNIT_WATT "W"
#define D_UNIT_WATTHOUR "Wh"
// Log message prefix
#define D_LOG_APPLICATION "APP: " // Application
#define D_LOG_BRIDGE "BRG: " // Bridge
#define D_LOG_CONFIG "CFG: " // Settings
#define D_LOG_COMMAND "CMD: " // Command
#define D_LOG_DEBUG "DBG: " // Debug
#define D_LOG_DHT "DHT: " // DHT sensor
#define D_LOG_DOMOTICZ "DOM: " // Domoticz
#define D_LOG_DSB "DSB: " // DS18xB20 sensor
#define D_LOG_HTTP "HTP: " // HTTP webserver
#define D_LOG_I2C "I2C: " // I2C
#define D_LOG_IRR "IRR: " // Infra Red Received
#define D_LOG_LOG "LOG: " // Logging
#define D_LOG_MODULE "MOD: " // Module
#define D_LOG_MDNS "DNS: " // mDNS
#define D_LOG_MQTT "MQT: " // MQTT
#define D_LOG_OTHER "OTH: " // Other
#define D_LOG_RESULT "RSL: " // Result
#define D_LOG_RFR "RFR: " // RF Received
#define D_LOG_SERIAL "SER: " // Serial
#define D_LOG_SHT1 "SHT: " // SHT1x sensor
#define D_LOG_UPLOAD "UPL: " // Upload
#define D_LOG_UPNP "UPP: " // UPnP
#define D_LOG_WIFI "WIF: " // Wifi
#endif // _LANGUAGE_EN_GB_H_

View File

@ -78,72 +78,6 @@ String GetResetReason()
} }
} }
#ifdef DEBUG_THEO
void ExceptionTest(byte type)
{
/*
Exception (28):
epc1=0x4000bf64 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000007 depc=0x00000000
ctx: cont
sp: 3fff1f30 end: 3fff2840 offset: 01a0
>>>stack>>>
3fff20d0: 202c3573 756f7247 2c302070 646e4920
3fff20e0: 40236a6e 7954202c 45206570 00454358
3fff20f0: 00000010 00000007 00000000 3fff2180
3fff2100: 3fff2190 40107bfc 3fff3e4c 3fff22c0
3fff2110: 40261934 000000f0 3fff22c0 401004d8
3fff2120: 40238fcf 00000050 3fff2100 4021fc10
3fff2130: 3fff32bc 4021680c 3ffeade1 4021ff7d
3fff2140: 3fff2190 3fff2180 0000000c 7fffffff
3fff2150: 00000019 00000000 00000000 3fff21c0
3fff2160: 3fff23f3 3ffe8e08 00000000 4021ffb4
3fff2170: 3fff2190 3fff2180 0000000c 40201118
3fff2180: 3fff21c0 0000003c 3ffef840 00000007
3fff2190: 00000000 00000000 00000000 40201128
3fff21a0: 3fff23f3 000000f1 3fff23ec 4020fafb
3fff21b0: 3fff23f3 3fff21c0 3fff21d0 3fff23f6
3fff21c0: 00000000 3fff23fb 4022321b 00000000
Exception 28: LoadProhibited: A load referenced a page mapped with an attribute that does not permit loads
Decoding 14 results
0x40236a6e: ets_vsnprintf at ?? line ?
0x40107bfc: vsnprintf at C:\Data2\Arduino\arduino-1.8.1-esp-2.3.0\portable\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/libc_replacements.c line 387
0x40261934: bignum_exptmod at ?? line ?
0x401004d8: malloc at C:\Data2\Arduino\arduino-1.8.1-esp-2.3.0\portable\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\umm_malloc/umm_malloc.c line 1664
0x40238fcf: wifi_station_get_connect_status at ?? line ?
0x4021fc10: operator new[](unsigned int) at C:\Data2\Arduino\arduino-1.8.1-esp-2.3.0\portable\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/abi.cpp line 57
0x4021680c: ESP8266WiFiSTAClass::status() at C:\Data2\Arduino\arduino-1.8.1-esp-2.3.0\portable\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFiSTA.cpp line 569
0x4021ff7d: vsnprintf_P(char*, unsigned int, char const*, __va_list_tag) at C:\Data2\Arduino\arduino-1.8.1-esp-2.3.0\portable\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/pgmspace.cpp line 146
0x4021ffb4: snprintf_P(char*, unsigned int, char const*, ...) at C:\Data2\Arduino\arduino-1.8.1-esp-2.3.0\portable\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/pgmspace.cpp line 146
0x40201118: atol at C:\Data2\Arduino\arduino-1.8.1-esp-2.3.0\portable\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/core_esp8266_noniso.c line 45
0x40201128: atoi at C:\Data2\Arduino\arduino-1.8.1-esp-2.3.0\portable\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/core_esp8266_noniso.c line 45
0x4020fafb: MqttDataHandler(char*, unsigned char*, unsigned int) at R:\Arduino\Work-ESP8266\Theo\sonoff\sonoff-4\sonoff/sonoff.ino line 679 (discriminator 1)
0x4022321b: pp_attach at ?? line ?
00:00:08 MQTT: tele/sonoff/INFO3 = {"Started":"Fatal exception:28 flag:2 (EXCEPTION) epc1:0x4000bf64 epc2:0x00000000 epc3:0x00000000 excvaddr:0x00000007 depc:0x00000000"}
*/
if (1 == type) {
char svalue[10];
snprintf_P(svalue, sizeof(svalue), PSTR("%s"), 7); // Exception 28 as number in string (7 in excvaddr)
}
/*
14:50:52 osWatch: FreeRam 25896, rssi 68, last_run 0
14:51:02 osWatch: FreeRam 25896, rssi 58, last_run 0
14:51:03 CMND: exception 2
14:51:12 osWatch: FreeRam 25360, rssi 60, last_run 8771
14:51:22 osWatch: FreeRam 25360, rssi 62, last_run 18771
14:51:32 osWatch: FreeRam 25360, rssi 62, last_run 28771
14:51:42 osWatch: FreeRam 25360, rssi 62, last_run 38771
14:51:42 osWatch: Warning, loop blocked. Restart now
*/
if (2 == type) {
while(1) delay(1000); // this will trigger the os watch
}
}
#endif // DEBUG_THEO
/*********************************************************************************************\ /*********************************************************************************************\
* Miscellaneous * Miscellaneous
\*********************************************************************************************/ \*********************************************************************************************/
@ -298,6 +232,19 @@ char* UpperCase_P(char* dest, const char* source)
return dest; return dest;
} }
char* SpaceToUnderscore(char* dest, const char* source)
{
char* write = dest;
const char* read = source;
char ch = '.';
while (ch != '\0') {
ch = *read++;
*write++ = (ch == ' ') ? '_' : ch;
}
return dest;
}
boolean ParseIp(uint32_t* addr, const char* str) boolean ParseIp(uint32_t* addr, const char* str)
{ {
uint8_t *part = (uint8_t*)addr; uint8_t *part = (uint8_t*)addr;

View File

@ -167,6 +167,7 @@
// If non selected the default en-GB will be used // If non selected the default en-GB will be used
//#define MY_LANGUAGE cs-CZ // Czech in Czech //#define MY_LANGUAGE cs-CZ // Czech in Czech
//#define MY_LANGUAGE de-DE // German in Germany //#define MY_LANGUAGE de-DE // German in Germany
//#define MY_LANGUAGE el-GR // Greek in Greece
//#define MY_LANGUAGE en-GB // English in Great Britain. Enabled by Default //#define MY_LANGUAGE en-GB // English in Great Britain. Enabled by Default
//#define MY_LANGUAGE es-AR // Spanish in Argentina //#define MY_LANGUAGE es-AR // Spanish in Argentina
//#define MY_LANGUAGE fr-FR // French in France //#define MY_LANGUAGE fr-FR // French in France

View File

@ -1001,7 +1001,8 @@ void HandleBackupConfiguration()
WebServer->setContentLength(sizeof(buffer)); WebServer->setContentLength(sizeof(buffer));
char attachment[100]; char attachment[100];
snprintf_P(attachment, sizeof(attachment), PSTR("attachment; filename=Config_%s_%s.dmp"), Settings.friendlyname[0], my_version); char friendlyname[sizeof(Settings.friendlyname[0])];
snprintf_P(attachment, sizeof(attachment), PSTR("attachment; filename=Config_%s_%s.dmp"), SpaceToUnderscore(friendlyname, Settings.friendlyname[0]), my_version);
WebServer->sendHeader(F("Content-Disposition"), attachment); WebServer->sendHeader(F("Content-Disposition"), attachment);
WebServer->send(200, FPSTR(HDR_CTYPE_STREAM), ""); WebServer->send(200, FPSTR(HDR_CTYPE_STREAM), "");
memcpy(buffer, &Settings, sizeof(buffer)); memcpy(buffer, &Settings, sizeof(buffer));