Merge pull request #3 from arendst/development

update fork
This commit is contained in:
Adrian 2018-03-12 04:47:42 -03:00 committed by GitHub
commit c62a0f16cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 4254 additions and 243 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,137 @@
# ESP8266 platform
# ------------------------------
# For more info:
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification
name=ESP8266 Modules
version=2.4.1
compiler.warning_flags=-w
compiler.warning_flags.none=-w
compiler.warning_flags.default=
compiler.warning_flags.more=-Wall
compiler.warning_flags.all=-Wall -Wextra
build.lwip_lib=-llwip_gcc
build.lwip_include=lwip/include
build.lwip_flags=-DLWIP_OPEN_SRC
#build.float=-u _printf_float -u _scanf_float
build.float=
build.led=
compiler.path={runtime.tools.xtensa-lx106-elf-gcc.path}/bin/
compiler.sdk.path={runtime.platform.path}/tools/sdk
compiler.libc.path={runtime.platform.path}/tools/sdk/libc/xtensa-lx106-elf
compiler.cpreprocessor.flags=-D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I{compiler.sdk.path}/include" "-I{compiler.sdk.path}/{build.lwip_include}" "-I{compiler.libc.path}/include" "-I{build.path}/core"
compiler.c.cmd=xtensa-lx106-elf-gcc
compiler.c.flags=-c {compiler.warning_flags} -Os -g -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -std=gnu99 -ffunction-sections -fdata-sections
compiler.S.cmd=xtensa-lx106-elf-gcc
compiler.S.flags=-c -g -x assembler-with-cpp -MMD -mlongcalls
compiler.c.elf.flags=-g {compiler.warning_flags} -Os -nostdlib -Wl,--no-check-sections -u call_user_start {build.float} -Wl,-static "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" "-L{compiler.libc.path}/lib" "-T{build.flash_ld}" -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read
compiler.c.elf.cmd=xtensa-lx106-elf-gcc
compiler.c.elf.libs=-lhal -lphy -lpp -lnet80211 {build.lwip_lib} -lwpa -lcrypto -lmain -lwps -laxtls -lespnow -lsmartconfig -lairkiss -lwpa2 -lstdc++ -lm -lc -lgcc
compiler.cpp.cmd=xtensa-lx106-elf-g++
compiler.cpp.flags=-c {compiler.warning_flags} -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD -ffunction-sections -fdata-sections
compiler.as.cmd=xtensa-lx106-elf-as
compiler.ar.cmd=xtensa-lx106-elf-ar
compiler.ar.flags=cru
compiler.elf2hex.cmd=esptool
compiler.elf2hex.flags=
compiler.size.cmd=xtensa-lx106-elf-size
compiler.esptool.cmd=esptool
compiler.esptool.cmd.windows=esptool.exe
# This can be overriden in boards.txt
build.extra_flags=-DESP8266
# These can be overridden in platform.local.txt
compiler.c.extra_flags=
compiler.c.elf.extra_flags=
compiler.S.extra_flags=
compiler.cpp.extra_flags=
compiler.ar.extra_flags=
compiler.objcopy.eep.extra_flags=
compiler.elf2hex.extra_flags=
## generate file with git version number
## needs bash, git, and echo
## windows-compatible version without git
## Compile c files
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.c.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
## Compile c++ files
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpreprocessor.flags} {compiler.cpp.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
## Compile S files
recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.S.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
## Create archives
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/arduino.ar" "{object_file}"
## Combine gc-sections, archives, and objects
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" -Wl,--start-group {object_files} "{build.path}/arduino.ar" {compiler.c.elf.libs} -Wl,--end-group "-L{build.path}"
## Create eeprom
recipe.objcopy.eep.pattern=
## Create hex
#recipe.objcopy.hex.pattern="{compiler.path}{compiler.elf2hex.cmd}" {compiler.elf2hex.flags} {compiler.elf2hex.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.hex"
recipe.objcopy.hex.pattern="{runtime.tools.esptool.path}/{compiler.esptool.cmd}" -eo "{runtime.platform.path}/bootloaders/eboot/eboot.elf" -bo "{build.path}/{build.project_name}.bin" -bm {build.flash_mode} -bf {build.flash_freq} -bz {build.flash_size} -bs .text -bp 4096 -ec -eo "{build.path}/{build.project_name}.elf" -bs .irom0.text -bs .text -bs .data -bs .rodata -bc -ec
## Save hex
recipe.output.tmp_file={build.project_name}.bin
recipe.output.save_file={build.project_name}.{build.variant}.bin
## Compute size
recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build.project_name}.elf"
recipe.size.regex=^(?:\.irom0\.text|\.text|\.data|\.rodata|)\s+([0-9]+).*
recipe.size.regex.data=^(?:\.data|\.rodata|\.bss)\s+([0-9]+).*
#recipe.size.regex.eeprom=^(?:\.eeprom)\s+([0-9]+).*
# ------------------------------
tools.esptool.cmd=esptool
tools.esptool.cmd.windows=esptool.exe
tools.esptool.path={runtime.tools.esptool.path}
tools.esptool.network_cmd=python
tools.esptool.network_cmd.windows=python.exe
tools.esptool.upload.protocol=esp
tools.esptool.upload.params.verbose=-vv
tools.esptool.upload.params.quiet=
tools.esptool.upload.pattern="{path}/{cmd}" {upload.verbose} -cd {upload.resetmethod} -cb {upload.speed} -cp "{serial.port}" {upload.erase_cmd} -ca 0x00000 -cf "{build.path}/{build.project_name}.bin"
tools.esptool.upload.network_pattern="{network_cmd}" "{runtime.platform.path}/tools/espota.py" -i "{serial.port}" -p "{network.port}" "--auth={network.password}" -f "{build.path}/{build.project_name}.bin"
tools.mkspiffs.cmd=mkspiffs
tools.mkspiffs.cmd.windows=mkspiffs.exe
tools.mkspiffs.path={runtime.tools.mkspiffs.path}
tools.espupload.cmd=python
tools.espupload.cmd.windows=python.exe
tools.espupload.path={runtime.platform.path}/tools
tools.espupload.upload.protocol=espupload
tools.espupload.upload.params.verbose=
tools.espupload.upload.params.quiet=
tools.espupload.upload.pattern="{cmd}" "{path}/espupload.py" -f "{build.path}/{build.project_name}.bin"

View File

@ -1,5 +1,10 @@
/* 5.12.0e
* Add a second TLS fingerprint to allow switching keys in TLS mode (#2033, #2102)
* Add display of remaining pulse time to command PulseTime (#2085)
* Add additional time offset to Wifi Retry based on device mac address (#2089)
* Add command Color6 RRGGBB for Clock hour marker color and command Rotation pixels for Clock rotation (#2092)
* Add HTML language header in local language (#2123)
* Fix MAX31850 higher temperatures (#1269)
*
* 5.12.0d
* Add support for optional MQTT drivers to be selected in user_config.h (#1992)

View File

@ -250,6 +250,7 @@
#define D_CMND_LEDTABLE "LedTable"
#define D_CMND_FADE "Fade"
#define D_CMND_PIXELS "Pixels"
#define D_CMND_ROTATION "Rotation"
#define D_CMND_SCHEME "Scheme"
#define D_CMND_SPEED "Speed"
#define D_CMND_WAKEUP "Wakeup"
@ -400,6 +401,7 @@ const char S_JSON_COMMAND_INDEX_NVALUE[] PROGMEM = "{\"%s%d\":%d}";
const char S_JSON_COMMAND_INDEX_LVALUE[] PROGMEM = "{\"%s%d\":%lu}";
const char S_JSON_COMMAND_INDEX_SVALUE[] PROGMEM = "{\"%s%d\":\"%s\"}";
const char S_JSON_COMMAND_INDEX_SVALUE_SVALUE[] PROGMEM = "{\"%s%d\":\"%s%s\"}";
const char S_JSON_COMMAND_INDEX_NVALUE_ACTIVE_NVALUE[] PROGMEM = "{\"%s%d\":\"%d (" D_JSON_ACTIVE " %d)\"}";
const char S_JSON_SENSOR_INDEX_NVALUE[] PROGMEM = "{\"" D_CMND_SENSOR "%d\":%d}";
const char S_JSON_SENSOR_INDEX_SVALUE[] PROGMEM = "{\"" D_CMND_SENSOR "%d\":\"%s\"}";

View File

@ -1,5 +1,5 @@
/*
cz-CZ.h - localization for Czech without fonetick - Czech for Sonoff-Tasmota
cz-CZ.h - localization for Czech with diacritics - Czech for Sonoff-Tasmota
Copyright (C) 2018 Theo Arends (translated by vs)
@ -17,8 +17,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _LANGUAGE_CZ_CZ_H_
#define _LANGUAGE_CZ_CZ_H_
#ifndef _LANGUAGE_CS_CZ_H_
#define _LANGUAGE_CS_CZ_H_
/*************************** ATTENTION *******************************\
*
@ -32,6 +32,9 @@
//#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 "cs"
// "2017-03-07T11:08:02" - ISO8601:2004
#define D_YEAR_MONTH_SEPARATOR "-"
#define D_MONTH_DAY_SEPARATOR "-"
@ -39,8 +42,8 @@
#define D_HOUR_MINUTE_SEPARATOR ":"
#define D_MINUTE_SECOND_SEPARATOR ":"
#define D_DAY3LIST "PonUteStrCtvPatSobNed"
#define D_MONTH3LIST "LedUnoBreDubKveCerCevSrpZarRijLisPro"
#define D_DAY3LIST "PonÚteStřČtvPátSobNed"
#define D_MONTH3LIST "LedÚnoBřeDubKvěČerČevSrpZářŘíjLisPro"
// Non JSON decimal separator
#define D_DECIMAL_SEPARATOR ","
@ -51,182 +54,182 @@
#define D_AP "AP" // Access Point
#define D_AS "jako"
#define D_AUTO "AUTO"
#define D_BLINK "Blikani"
#define D_BLINKOFF "BlikaniVyp"
#define D_BOOT_COUNT "Pocitadlo spusteni"
#define D_BRIGHTLIGHT "Svetly"
#define D_BUTTON "Tlacitko"
#define D_BLINK "Blikání"
#define D_BLINKOFF "BlikáníVyp"
#define D_BOOT_COUNT "Počítadlo spuštění"
#define D_BRIGHTLIGHT "Světlý"
#define D_BUTTON "Tlačítko"
#define D_BY "by" // Written by me
#define D_BYTES "Bytu"
#define D_CELSIUS "Celsia"
#define D_CO2 "Kyslicniku uhliciteho"
#define D_CODE "kod" // Button code
#define D_COLDLIGHT "Studeny"
#define D_COMMAND "Prikaz"
#define D_CONNECTED "Pripojeny"
#define D_COUNT "Pocitej"
#define D_COUNTER "Pocitadlo"
#define D_CURRENT "Aktualni" // As in Voltage and Current
#define D_CO2 "Kysličníku uhličitého"
#define D_CODE "kód" // Button code
#define D_COLDLIGHT "Studený"
#define D_COMMAND "Příkaz"
#define D_CONNECTED "...připojeno"
#define D_COUNT "Počítej"
#define D_COUNTER "Počítadlo"
#define D_CURRENT "Proud" // As in Voltage and Current
#define D_DATA "Data"
#define D_DARKLIGHT "Tmavy"
#define D_DARKLIGHT "Tmavý"
#define D_DEBUG "Debug"
#define D_DISABLED "Zablokovany"
#define D_DISABLED "Zablokováno"
#define D_DNS_SERVER "Server DNS"
#define D_DONE "Provedeno"
#define D_DST_TIME "DST"
#define D_EMULATION "Emulace"
#define D_ENABLED "Otevrene"
#define D_ERASE "Vymaz"
#define D_ENABLED "Otevřený"
#define D_ERASE "Smaž"
#define D_ERROR "Chyba"
#define D_FAHRENHEIT "Fahrenheita"
#define D_FAILED "Chybny"
#define D_FALLBACK "Nahradni"
#define D_FALLBACK_TOPIC "Nahradni topic"
#define D_FAILED "chyba"
#define D_FALLBACK "Záložní"
#define D_FALLBACK_TOPIC "Záložní topic"
#define D_FALSE "Nepravda"
#define D_FILE "Soubor"
#define D_FREE_MEMORY "Volna pamet"
#define D_FREE_MEMORY "Volná paměť"
#define D_GAS "Gas"
#define D_GATEWAY "Brana"
#define D_GATEWAY "Výchozí brána"
#define D_GROUP "Skupina"
#define D_HOST "Server"
#define D_HOSTNAME "Nazev serveru"
#define D_HOSTNAME "Název serveru"
#define D_HUMIDITY "Vlhkost"
#define D_ILLUMINANCE "Osvetleni"
#define D_IMMEDIATE "Okamzite" // Button immediate
#define D_ILLUMINANCE "Osvětlení"
#define D_IMMEDIATE "Mžikové" // Button immediate
#define D_INDEX "Index"
#define D_INFO "Informace"
#define D_INITIALIZED "Inicializovany"
#define D_INITIALIZED "Inicializovaný"
#define D_IP_ADDRESS "Adresa IP"
#define D_LIGHT "Svetlo"
#define D_LIGHT "Světlo"
#define D_LWT "LWT"
#define D_MODULE "Modul"
#define D_MQTT "MQTT"
#define D_MULTI_PRESS "nekolikere-stisknuti"
#define D_MULTI_PRESS "několikeré-stisknutí"
#define D_NOISE "Hluk"
#define D_NONE "Neni"
#define D_OFF "Vypnuty"
#define D_OFFLINE "Neaktivni"
#define D_OK "Ok"
#define D_ON "Sepnuty"
#define D_ONLINE "Aktivni"
#define D_NONE "Není"
#define D_OFF "Vypnutý"
#define D_OFFLINE "Neaktivní"
#define D_OK "OK"
#define D_ON "Sepnutý"
#define D_ONLINE "Aktivní"
#define D_PASSWORD "Heslo"
#define D_PORT "Port"
#define D_POWER_FACTOR "Soucinitel prikonu"
#define D_POWERUSAGE "Prikon"
#define D_POWER_FACTOR "Součinitel příkonu"
#define D_POWERUSAGE "Příkon"
#define D_PRESSURE "Tlak"
#define D_PRESSUREATSEALEVEL "Tlak na urovni hladiny more"
#define D_PROGRAM_FLASH_SIZE "Velikost programu flash"
#define D_PRESSUREATSEALEVEL "Tlak na úrovni hladiny moře"
#define D_PROGRAM_FLASH_SIZE "Velikost flash programu"
#define D_PROGRAM_SIZE "Velikost programu"
#define D_PROJECT "Projekt"
#define D_RECEIVED "Obdrzeny"
#define D_RECEIVED "Obdržený"
#define D_RESTART "Restart"
#define D_RESTARTING "Restartovani"
#define D_RESTART_REASON "Pricina restartu"
#define D_RESTORE "Nacteni"
#define D_RETAINED "Ulozene"
#define D_SAVE "Uloz"
#define D_RESTARTING "Restartování"
#define D_RESTART_REASON "Příčina restartu"
#define D_RESTORE "Načtený"
#define D_RETAINED "Uloženo"
#define D_SAVE "Ulož"
#define D_SENSOR "Sensor"
#define D_SSID "SSID"
#define D_START "Start"
#define D_STD_TIME "STD"
#define D_STOP "Stop"
#define D_SUBNET_MASK "Maska podsite"
#define D_SUBSCRIBE_TO "Prihlas se do"
#define D_SUCCESSFUL "uspesne."
#define D_SUBNET_MASK "Maska podsítě"
#define D_SUBSCRIBE_TO "Přihlaš se do"
#define D_SUCCESSFUL "úspěšné."
#define D_TEMPERATURE "Teplota"
#define D_TO "do"
#define D_TOGGLE "Prepni"
#define D_TOGGLE "Přepni"
#define D_TOPIC "Topic"
#define D_TRANSMIT "Odesli"
#define D_TRANSMIT "Odešli"
#define D_TRUE "Pravda"
#define D_UPGRADE "aktualizace"
#define D_UPLOAD "Nahrani..."
#define D_UPLOAD "Nahrání..."
#define D_UPTIME "Uptime"
#define D_USER "Uzivatel"
#define D_USER "Uživatel"
#define D_UTC_TIME "UTC"
#define D_UV_LEVEL "Uroven UV"
#define D_UV_LEVEL "úroveň UV"
#define D_VERSION "Verze"
#define D_VOLTAGE "Napeti"
#define D_WARMLIGHT "Ohrev"
#define D_VOLTAGE "Napětí"
#define D_WARMLIGHT "Ohřev"
#define D_WEB_SERVER "Web Server"
// sonoff.ino
#define D_WARNING_MINIMAL_VERSION "WARNING This version does not support persistent settings"
#define D_LEVEL_10 "uroven 1-0"
#define D_LEVEL_01 "uroven 0-1"
#define D_SERIAL_LOGGING_DISABLED "Vypnute logovani na seriovem portu"
#define D_SYSLOG_LOGGING_REENABLED "Obnoven zapis do Syslog"
#define D_WARNING_MINIMAL_VERSION "WARNING Tato verze nepodporuje trvalé nastavení"
#define D_LEVEL_10 "úroveň 1-0"
#define D_LEVEL_01 "úroveň 0-1"
#define D_SERIAL_LOGGING_DISABLED "Logování na sériovém portu ukončeno"
#define D_SYSLOG_LOGGING_REENABLED "Obnoven zápis do Syslog"
#define D_SET_BAUDRATE_TO "Nastaveni rychlosti prenosu na"
#define D_RECEIVED_TOPIC "Obdrzeny topic"
#define D_SET_BAUDRATE_TO "Nastavení rychlosti přenosu na"
#define D_RECEIVED_TOPIC "Obdržený topic"
#define D_DATA_SIZE "Velikost dat"
#define D_ANALOG_INPUT "Analogovy vstup"
#define D_ANALOG_INPUT "Analogový vstup"
#define D_FINGERPRINT "Verifikuj otisk TLS..."
#define D_TLS_CONNECT_FAILED_TO "Nepripojeno TLS do"
#define D_TLS_CONNECT_FAILED_TO "Nepřipojeno TLS do"
#define D_RETRY_IN "Zopakuji za"
#define D_VERIFIED "Zverifikovano otisk"
#define D_INSECURE "Nespravne pripojeni z duvodu chybneho otisku TLS"
#define D_CONNECT_FAILED_TO "Spojeni se nepodarilo navazat"
#define D_VERIFIED "Ověřeno otisk "
#define D_INSECURE "Nesprávné připojení z důvodu chybného otisku TLS"
#define D_CONNECT_FAILED_TO "Spojení se nepodařilo navázat"
// support.ino
#define D_OSWATCH "osWatch"
#define D_BLOCKED_LOOP "Zablokovani smycky"
#define D_BLOCKED_LOOP "Zablokování smyčky"
#define D_WPS_FAILED_WITH_STATUS "Chyba WPSconfig se statusem"
#define D_ACTIVE_FOR_3_MINUTES "aktivni 3 minuty"
#define D_FAILED_TO_START "nezdarilo se spustit"
#define D_ACTIVE_FOR_3_MINUTES "aktivní 3 minuty"
#define D_FAILED_TO_START "nepodařilo se spustit"
#define D_PATCH_ISSUE_2186 "Chyba 2186"
#define D_CONNECTING_TO_AP "Pripojovani k AP"
#define D_IN_MODE "v modu"
#define D_CONNECT_FAILED_NO_IP_ADDRESS "Chyba pripojeni, nebyla obdrzena IP adresa"
#define D_CONNECT_FAILED_AP_NOT_REACHED "Chyba pripojeni, nedostupny AP"
#define D_CONNECT_FAILED_WRONG_PASSWORD "Chyba pripojeni, nespravne heslo pro AP"
#define D_CONNECT_FAILED_AP_TIMEOUT "Chyba pripojeni, uplynul AP timeout"
#define D_ATTEMPTING_CONNECTION "Zkouska pripojeni..."
#define D_CHECKING_CONNECTION "Zkouska spojeni..."
#define D_QUERY_DONE "Vyslan dotaz. Nalezena sluzba MQTT"
#define D_MQTT_SERVICE_FOUND "Sluzba MQTT byla nalezena"
#define D_CONNECTING_TO_AP "Připojování k AP"
#define D_IN_MODE "v módu"
#define D_CONNECT_FAILED_NO_IP_ADDRESS "Chyba připojení, nebyla obdržena IP adresa"
#define D_CONNECT_FAILED_AP_NOT_REACHED "Chyba připojení, nedostupný AP"
#define D_CONNECT_FAILED_WRONG_PASSWORD "Chyba připojení, nesprávné heslo pro AP"
#define D_CONNECT_FAILED_AP_TIMEOUT "Chyba připojení, uplynul AP timeout"
#define D_ATTEMPTING_CONNECTION "Připojování..."
#define D_CHECKING_CONNECTION "Zkouška spojení..."
#define D_QUERY_DONE "Vyslání dotazu. Nalezena služba MQTT"
#define D_MQTT_SERVICE_FOUND "Služba MQTT byla nalezena"
#define D_FOUND_AT "znalezeno v"
#define D_SYSLOG_HOST_NOT_FOUND "Syslog Host nebyl nalezen"
// settings.ino
#define D_SAVED_TO_FLASH_AT "Ulozeno do pameti flash v"
#define D_LOADED_FROM_FLASH_AT "Stazeno z pameti flash z"
#define D_USE_DEFAULTS "Pouzij defaultni hodnoty"
#define D_ERASED_SECTOR "Smazany sektor"
#define D_SAVED_TO_FLASH_AT "Uloženo do paměti flash v"
#define D_LOADED_FROM_FLASH_AT "Staženo z paměti flash z"
#define D_USE_DEFAULTS "Použij defaultní hodnoty"
#define D_ERASED_SECTOR "Smazaný sektor"
// webserver.ino
#define D_MINIMAL_FIRMWARE_PLEASE_UPGRADE "Oprogramowanie MINIMAL - prosze uaktualnic"
#define D_WEBSERVER_ACTIVE_ON "Aktivni Web server"
#define D_WITH_IP_ADDRESS "na adrese IP"
#define D_MINIMAL_FIRMWARE_PLEASE_UPGRADE "Firmware MINIMÁLNÍ - prosím zaktualizujte"
#define D_WEBSERVER_ACTIVE_ON "Aktivní Web server"
#define D_WITH_IP_ADDRESS "na IP adrese"
#define D_WEBSERVER_STOPPED "Web server zastaven"
#define D_FILE_NOT_FOUND "Soubor nebyl nalezen"
#define D_REDIRECTED "Presmerovani na vlastni portal"
#define D_WIFIMANAGER_SET_ACCESSPOINT_AND_STATION "Wi-Fi manager nastavi AP a zachova STA"
#define D_WIFIMANAGER_SET_ACCESSPOINT "Wi-Fi manager nastavi Access Point"
#define D_TRYING_TO_CONNECT "Zkousim pripojit zarizeni k siti"
#define D_REDIRECTED "Přesměrování na vlastní portál"
#define D_WIFIMANAGER_SET_ACCESSPOINT_AND_STATION "Wi-Fi manager nastaví AP a zachová STA"
#define D_WIFIMANAGER_SET_ACCESSPOINT "Wi-Fi manager nastaví Access Point"
#define D_TRYING_TO_CONNECT "Zkouším připojit zařízení k síti"
#define D_RESTART_IN "Restart"
#define D_SECONDS "sekund"
#define D_DEVICE_WILL_RESTART "Zarizeni bude restartovano behem nekolika sekund"
#define D_BUTTON_TOGGLE "Prepinac"
#define D_CONFIGURATION "Nastaveni"
#define D_DEVICE_WILL_RESTART "Zařízení bude zrestartováno během několika sekund"
#define D_BUTTON_TOGGLE "Přepínač"
#define D_CONFIGURATION "Nastavení"
#define D_INFORMATION "Informace"
#define D_FIRMWARE_UPGRADE "Aktualizace firmware"
#define D_CONSOLE "Konzole"
#define D_CONFIRM_RESTART "Potvrzeni restartu"
#define D_CONFIRM_RESTART "Potvrzení restartu"
#define D_CONFIGURE_MODULE "Nastaveni modulu"
#define D_CONFIGURE_WIFI "Nastaveni WiFi"
#define D_CONFIGURE_MQTT "Nastaveni MQTT"
#define D_CONFIGURE_DOMOTICZ "Nastaveni Domoticz"
#define D_CONFIGURE_LOGGING "Nastaveni logovani"
#define D_CONFIGURE_OTHER "Jina nastaveni"
#define D_CONFIRM_RESET_CONFIGURATION "Potvrzeni resetu nastaveni"
#define D_RESET_CONFIGURATION "Reset nastaveni"
#define D_BACKUP_CONFIGURATION "Zaloha nastaveni"
#define D_RESTORE_CONFIGURATION "Obnoveni nastaveni"
#define D_MAIN_MENU "Hlavni menu"
#define D_CONFIGURE_MODULE "Nastavení modulu"
#define D_CONFIGURE_WIFI "Nastavení WiFi"
#define D_CONFIGURE_MQTT "Nastavení MQTT"
#define D_CONFIGURE_DOMOTICZ "Nastavení Domoticz"
#define D_CONFIGURE_LOGGING "Nastavení logování"
#define D_CONFIGURE_OTHER "Jiná nastavení"
#define D_CONFIRM_RESET_CONFIGURATION "Potvrzení resetu nastavení"
#define D_RESET_CONFIGURATION "Reset nastavení"
#define D_BACKUP_CONFIGURATION "Záloha nastavení"
#define D_RESTORE_CONFIGURATION "Obnovení nastavení"
#define D_MAIN_MENU "Hlavní menu"
#define D_MODULE_PARAMETERS "Parametry modulu"
#define D_MODULE_TYPE "Typ modulu"
@ -235,12 +238,12 @@
#define D_SERIAL_OUT "Serial Out"
#define D_WIFI_PARAMETERS "Parametry WiFi"
#define D_SCAN_FOR_WIFI_NETWORKS "Scan siti WiFi"
#define D_SCAN_DONE "Scan dokoncen"
#define D_NO_NETWORKS_FOUND "Sit nebyla nalezena"
#define D_SCAN_FOR_WIFI_NETWORKS "Scan sítí WiFi"
#define D_SCAN_DONE "Scan dokončen"
#define D_NO_NETWORKS_FOUND "Síť nebyla nalezena"
#define D_REFRESH_TO_SCAN_AGAIN "Zopakovat scan"
#define D_DUPLICATE_ACCESSPOINT "Kopie AP"
#define D_SKIPPING_LOW_QUALITY "Preskoceni z duvodu kvality signalu"
#define D_SKIPPING_LOW_QUALITY "Přeskočení z důvodu kvality signálu"
#define D_RSSI "RSSI"
#define D_WEP "WEP"
#define D_WPA_PSK "WPA PSK"
@ -252,90 +255,90 @@
#define D_MQTT_PARAMETERS "Parametry MQTT"
#define D_CLIENT "Klient"
#define D_FULL_TOPIC "Cely topic"
#define D_FULL_TOPIC "Celý topic"
#define D_LOGGING_PARAMETERS "Volby logovani"
#define D_SERIAL_LOG_LEVEL "Serial uroven logu"
#define D_WEB_LOG_LEVEL "Webova uroven logu"
#define D_SYS_LOG_LEVEL "Systemova uroven logu"
#define D_MORE_DEBUG "Vice debug informaci"
#define D_LOGGING_PARAMETERS "Volby logování"
#define D_SERIAL_LOG_LEVEL "Seriová úroveň logu"
#define D_WEB_LOG_LEVEL "Webová úroveň logu"
#define D_SYS_LOG_LEVEL "Systemová úroveň logu"
#define D_MORE_DEBUG "Více debug informací"
#define D_SYSLOG_HOST "Syslog host"
#define D_SYSLOG_PORT "Syslog port"
#define D_TELEMETRY_PERIOD "Interval telemetrie"
#define D_OTHER_PARAMETERS "Jine parametry"
#define D_WEB_ADMIN_PASSWORD "Heslo Web administratora"
#define D_MQTT_ENABLE "MQTT aktivni"
#define D_OTHER_PARAMETERS "Jiné parametry"
#define D_WEB_ADMIN_PASSWORD "Heslo Web administrátora"
#define D_MQTT_ENABLE "MQTT aktivní"
#define D_FRIENDLY_NAME "Friendly Name"
#define D_BELKIN_WEMO "Belkin WeMo"
#define D_HUE_BRIDGE "Hue Bridge"
#define D_SINGLE_DEVICE "single device"
#define D_MULTI_DEVICE "multi device"
#define D_SAVE_CONFIGURATION "Uloz nastaveni"
#define D_CONFIGURATION_SAVED "Nastaveni ulozena"
#define D_CONFIGURATION_RESET "Nastaveni resetovano"
#define D_SAVE_CONFIGURATION "Ulož nastavení"
#define D_CONFIGURATION_SAVED "Nastavení uloženo"
#define D_CONFIGURATION_RESET "Nastavení resetováno"
#define D_PROGRAM_VERSION "Verze programu"
#define D_BUILD_DATE_AND_TIME "Datum a cas kompilace"
#define D_BUILD_DATE_AND_TIME "Datum a čas kompilace"
#define D_CORE_AND_SDK_VERSION "Verze Core/SDK"
#define D_FLASH_WRITE_COUNT "Pocet zapisu do pameti"
#define D_MAC_ADDRESS "Adres Mac"
#define D_FLASH_WRITE_COUNT "Počet zápisů do paměti"
#define D_MAC_ADDRESS "Adresa MAC"
#define D_MQTT_HOST "Host MQTT"
#define D_MQTT_PORT "Port MQTT"
#define D_MQTT_CLIENT "Klient MQTT"
#define D_MQTT_USER "Uzivatel MQTT"
#define D_MQTT_USER "Uživatel MQTT"
#define D_MQTT_TOPIC "Topic MQTT"
#define D_MQTT_GROUP_TOPIC "Topic skupiny MQTT"
#define D_MQTT_FULL_TOPIC "Cely topic MQTT"
#define D_MDNS_DISCOVERY "Ziskavani mDNS"
#define D_MDNS_ADVERTISE "Rozesilani mDNS"
#define D_ESP_CHIP_ID "ID systemu ESP"
#define D_FLASH_CHIP_ID "ID systemu pameti flash"
#define D_MQTT_FULL_TOPIC "Celý topic MQTT"
#define D_MDNS_DISCOVERY "Získávání mDNS"
#define D_MDNS_ADVERTISE "Rozesílání mDNS"
#define D_ESP_CHIP_ID "ID systému ESP"
#define D_FLASH_CHIP_ID "ID systému paměti flash"
#define D_FLASH_CHIP_SIZE "Velikost flash"
#define D_FREE_PROGRAM_SPACE "Volne misto programu"
#define D_FREE_PROGRAM_SPACE "Volné místo pro program"
#define D_UPGRADE_BY_WEBSERVER "Aktualizace z Web serveru"
#define D_OTA_URL "URL OTA"
#define D_START_UPGRADE "Start aktualizace"
#define D_UPGRADE_BY_FILE_UPLOAD "Aktualizace nahranim souboru"
#define D_UPLOAD_STARTED "Nahravani zahajeno"
#define D_UPGRADE_STARTED "Zahajeni aktualizace"
#define D_UPLOAD_DONE "Nahravani ukonceno"
#define D_UPLOAD_ERR_1 "Soubor nebyl vybran"
#define D_UPLOAD_ERR_2 "Malo mista"
#define D_UPLOAD_ERR_3 "Magicky byte ma jinou hodnotu nez 0xE9"
#define D_UPLOAD_ERR_4 "Velikost programu je vetsi nez skutecna velikost pameti flash"
#define D_UPLOAD_ERR_5 "Chyba nahravani, nesouhlasi porovnavane bity"
#define D_UPLOAD_ERR_6 "Chyba nahravani. Spusten zapis do logu na urovni 3"
#define D_UPLOAD_ERR_7 "Nahravani preruseno"
#define D_UPLOAD_ERR_8 "Spatny soubor"
#define D_UPLOAD_ERR_9 "Soubor je prilis velky"
#define D_UPLOAD_ERROR_CODE "Chyba nahravani"
#define D_UPGRADE_BY_FILE_UPLOAD "Aktualizace nahráním souboru"
#define D_UPLOAD_STARTED "Nahrávání zahájeno"
#define D_UPGRADE_STARTED "Zahájení aktualizace"
#define D_UPLOAD_DONE "Nahrávání ukončeno"
#define D_UPLOAD_ERR_1 "Soubor nebyl vybrán"
#define D_UPLOAD_ERR_2 "Málo místa"
#define D_UPLOAD_ERR_3 "Magický byte má hodnotu jinou než 0xE9"
#define D_UPLOAD_ERR_4 "Velikost programu je větší než skutečná velikost paměti flash"
#define D_UPLOAD_ERR_5 "Chyba nahrávání, nesouhlasí porovnávané bity"
#define D_UPLOAD_ERR_6 "Chyba nahrávání. Spuštěn zápis do logu na úrovni 3"
#define D_UPLOAD_ERR_7 "Nahrávání přerušeno"
#define D_UPLOAD_ERR_8 "Špatný soubor"
#define D_UPLOAD_ERR_9 "Soubor je příliš velký"
#define D_UPLOAD_ERROR_CODE "Chyba nahrávání"
#define D_ENTER_COMMAND "Vloz prikaz"
#define D_ENABLE_WEBLOG_FOR_RESPONSE "Zapni uroven 2 zapisu Weblog, pokud je ocekavana odpoved"
#define D_NEED_USER_AND_PASSWORD "Vyzadovany uzivatel=<username>&heslo=<password>"
#define D_ENTER_COMMAND "Vlož příkaz"
#define D_ENABLE_WEBLOG_FOR_RESPONSE "Zapni úroveň 2 zápisu Weblog, pokud je očekávána odpověď"
#define D_NEED_USER_AND_PASSWORD "Vyžadován uživatel=<username>&heslo=<password>"
// xdrv_wemohue.ino
#define D_MULTICAST_DISABLED "Multicast je vypnuty"
#define D_MULTICAST_REJOINED "Multicast opet pripojeny"
#define D_MULTICAST_JOIN_FAILED "Multicast neuspesny"
#define D_FAILED_TO_SEND_RESPONSE "Nepodarilo se odeslat odpoved"
#define D_MULTICAST_DISABLED "Multicast je vypnutý"
#define D_MULTICAST_REJOINED "Multicast opět připojený"
#define D_MULTICAST_JOIN_FAILED "Multicast neúspěšný"
#define D_FAILED_TO_SEND_RESPONSE "Nepodařilo se odeslat odpověď"
#define D_WEMO "WeMo"
#define D_WEMO_BASIC_EVENT "WeMo zakladni udalost"
#define D_WEMO_EVENT_SERVICE "WeMo servisni udalost"
#define D_WEMO_META_SERVICE "WeMo meta udalost"
#define D_WEMO_BASIC_EVENT "WeMo základní událost"
#define D_WEMO_EVENT_SERVICE "WeMo servisní událost"
#define D_WEMO_META_SERVICE "WeMo meta událost"
#define D_WEMO_SETUP "WeMo setup"
#define D_RESPONSE_SENT "Odpoved odeslana"
#define D_RESPONSE_SENT "Odpověď odeslána"
#define D_HUE "Hue"
#define D_HUE_BRIDGE_SETUP "Hue setup"
#define D_HUE_API_NOT_IMPLEMENTED "Hue API neni implementovano"
#define D_HUE_API_NOT_IMPLEMENTED "Hue API není implementováno"
#define D_HUE_API "Hue API"
#define D_HUE_POST_ARGS "Hue POST args"
#define D_3_RESPONSE_PACKETS_SENT "3 pakety odpovedi odeslany"
#define D_3_RESPONSE_PACKETS_SENT "3 pakety odpovědi odeslány"
// xdrv_05_domoticz.ino
#define D_DOMOTICZ_PARAMETERS "Parametry Domoticz"
@ -346,18 +349,18 @@
#define D_DOMOTICZ_TEMP "Temp"
#define D_DOMOTICZ_TEMP_HUM "Temp,Vlhk"
#define D_DOMOTICZ_TEMP_HUM_BARO "Temp,Vlhk,Tlak"
#define D_DOMOTICZ_POWER_ENERGY "Prikon,Energie"
#define D_DOMOTICZ_ILLUMINANCE "Osvetleni"
#define D_DOMOTICZ_COUNT "Pocitadlo"
#define D_DOMOTICZ_VOLTAGE "Napeti"
#define D_DOMOTICZ_POWER_ENERGY "Příkon,Energie"
#define D_DOMOTICZ_ILLUMINANCE "Osvětlení"
#define D_DOMOTICZ_COUNT "Počítadlo"
#define D_DOMOTICZ_VOLTAGE "Napětí"
#define D_DOMOTICZ_CURRENT "Proud"
#define D_DOMOTICZ_AIRQUALITY "AirQuality"
#define D_DOMOTICZ_UPDATE_TIMER "Aktualizace stopek"
// xdrv_03_energy.ino
#define D_ENERGY_TODAY "Energie Dnes"
#define D_ENERGY_YESTERDAY "Energie Vcera"
#define D_ENERGY_TOTAL "Energie Soucet"
#define D_ENERGY_YESTERDAY "Energie Včera"
#define D_ENERGY_TOTAL "Energie Součet"
// xsns_05_ds18b20.ino
#define D_SENSOR_BUSY "Sensor DS18x20 obsazen"
@ -365,14 +368,14 @@
#define D_SENSORS_FOUND "Nalezen sensor DS18x20"
// xsns_06_dht.ino
#define D_TIMEOUT_WAITING_FOR "Cekani na"
#define D_START_SIGNAL_LOW "signal<EFBFBD> startovni nizky"
#define D_START_SIGNAL_HIGH "signal<EFBFBD> startovni vysoky"
#define D_TIMEOUT_WAITING_FOR "Čekání na"
#define D_START_SIGNAL_LOW "signál, startovní nízký"
#define D_START_SIGNAL_HIGH "signál, startovní vysoký"
#define D_PULSE "puls"
#define D_CHECKSUM_FAILURE "Chybny kontrolni soucet"
#define D_CHECKSUM_FAILURE "Chybný kontrolní součet"
// xsns_07_sht1x.ino
#define D_SENSOR_DID_NOT_ACK_COMMAND "Sensor neobdrzel prikaz ACK"
#define D_SENSOR_DID_NOT_ACK_COMMAND "Sensor neobdržel pžíkaz ACK"
#define D_SHT1X_FOUND "SHT1X nalezen"
// xsns_18_pms5003.ino
@ -381,7 +384,7 @@
#define D_PARTICALS_BEYOND "Particals"
// sonoff_template.h
#define D_SENSOR_NONE "Neni"
#define D_SENSOR_NONE "Není"
#define D_SENSOR_DHT11 "DHT11"
#define D_SENSOR_AM2301 "AM2301"
#define D_SENSOR_SI7021 "SI7021"
@ -390,12 +393,12 @@
#define D_SENSOR_I2C_SDA "I2C SDA"
#define D_SENSOR_WS2812 "WS2812"
#define D_SENSOR_IRSEND "IRsend"
#define D_SENSOR_SWITCH "Spinac" // Suffix "1"
#define D_SENSOR_BUTTON "Tlacit" // Suffix "1"
#define D_SENSOR_RELAY "Rele" // Suffix "1i"
#define D_SENSOR_SWITCH "Spínač" // Suffix "1"
#define D_SENSOR_BUTTON "Tlačít" // Suffix "1"
#define D_SENSOR_RELAY "Relé" // Suffix "1i"
#define D_SENSOR_LED "Led" // Suffix "1i"
#define D_SENSOR_PWM "PWM" // Suffix "1"
#define D_SENSOR_COUNTER "Pocita" // Suffix "1"
#define D_SENSOR_PWM "PWM" // Suffix "1",
#define D_SENSOR_COUNTER "Počíta" // Suffix "1"
#define D_SENSOR_IRRECV "IRrecv"
#define D_SENSOR_MHZ_RX "MHZ Rx"
#define D_SENSOR_MHZ_TX "MHZ Tx"
@ -455,4 +458,4 @@
#define D_LOG_UPNP "UPP: " // UPnP
#define D_LOG_WIFI "WIF: " // Wifi
#endif // _LANGUAGE_CZ_CZ_H_
#endif // _LANGUAGE_CS_CZ_H_

View File

@ -32,6 +32,9 @@
//#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 "de"
// "2017-03-07T11:08:02" - ISO8601:2004
#define D_YEAR_MONTH_SEPARATOR "."
#define D_MONTH_DAY_SEPARATOR "."

View File

@ -32,6 +32,9 @@
//#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 "en"
// "2017-03-07T11:08:02" - ISO8601:2004
#define D_YEAR_MONTH_SEPARATOR "-"
#define D_MONTH_DAY_SEPARATOR "-"

View File

@ -32,6 +32,9 @@
#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 "es"
// "2017-03-07T11:08:02" - ISO8601:2004
#define D_YEAR_MONTH_SEPARATOR "-"
#define D_MONTH_DAY_SEPARATOR "-"

View File

@ -32,6 +32,9 @@
#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 "fr"
// "2017-03-07T11:08:02" - ISO8601:2004
#define D_YEAR_MONTH_SEPARATOR "-"
#define D_MONTH_DAY_SEPARATOR "-"

View File

@ -32,6 +32,9 @@
//#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 "hu"
// "2017-03-07T11:08:02" - ISO8601:2004
#define D_YEAR_MONTH_SEPARATOR "."
#define D_MONTH_DAY_SEPARATOR "."

View File

@ -32,6 +32,9 @@
#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 "it"
// "2017-03-07T11:08:02" - ISO8601:2004
#define D_YEAR_MONTH_SEPARATOR "-"
#define D_MONTH_DAY_SEPARATOR "-"

View File

@ -32,6 +32,9 @@
//#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 "nl"
// "2017-03-07T11:08:02" - ISO8601:2004
#define D_YEAR_MONTH_SEPARATOR "-"
#define D_MONTH_DAY_SEPARATOR "-"

View File

@ -32,6 +32,9 @@
//#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 "pl"
// "2017-03-07T11:08:02" - ISO8601:2004
#define D_YEAR_MONTH_SEPARATOR "-"
#define D_MONTH_DAY_SEPARATOR "-"

View File

@ -32,6 +32,9 @@
//#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 "pt"
// "2017-03-07T11:08:02" - ISO8601:2004
#define D_YEAR_MONTH_SEPARATOR "-"
#define D_MONTH_DAY_SEPARATOR "-"

View File

@ -32,6 +32,9 @@
//#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 "ru"
// "2017-03-07T11:08:02" - ISO8601:2004
#define D_YEAR_MONTH_SEPARATOR "-"
#define D_MONTH_DAY_SEPARATOR "-"

View File

@ -32,6 +32,9 @@
//#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 "zh"
// "2017-03-07T11:08:02" - ISO8601:2004
#define D_YEAR_MONTH_SEPARATOR "-"
#define D_MONTH_DAY_SEPARATOR "-"

View File

@ -32,6 +32,9 @@
//#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 "zh"
// "2017-03-07T11:08:02" - ISO8601:2004
#define D_YEAR_MONTH_SEPARATOR "-"
#define D_MONTH_DAY_SEPARATOR "-"

View File

@ -116,11 +116,9 @@ struct SYSCFG {
byte syslog_level; // 1AA
uint8_t webserver; // 1AB
byte weblog_level; // 1AC
// char mqtt_fingerprint[60]; // 1AD
uint8_t mqtt_fingerprint[2][20]; // 1AD
byte free_1D5[20]; // 1D5
byte free_1D5[20]; // 1D5 Free since 5.12.0e
char mqtt_host[33]; // 1E9
uint16_t mqtt_port; // 20A
@ -186,7 +184,7 @@ struct SYSCFG {
uint16_t blinktime; // 39A
uint16_t blinkcount; // 39C
uint16_t ws_pixels; // 39E Not used since 5.8.0
uint16_t light_rotation; // 39E
uint8_t ws_red; // 3A0 Not used since 5.8.0
uint8_t ws_green; // 3A1 Not used since 5.8.0
uint8_t ws_blue; // 3A2 Not used since 5.8.0

View File

@ -579,6 +579,7 @@ void SettingsDefaultSet2()
// 5.8.0
Settings.light_pixels = WS2812_LEDS;
// Settings.light_rotation = 0;
// 5.8.1
// Settings.altitude = 0;
@ -597,7 +598,6 @@ void SettingsDefaultSet2()
void SettingsDefaultSet_3_2_4()
{
Settings.ws_pixels = WS2812_LEDS;
Settings.ws_red = 255;
Settings.ws_green = 0;
Settings.ws_blue = 0;
@ -625,6 +625,7 @@ void SettingsDefaultSet_3_9_3()
}
Settings.light_pixels = WS2812_LEDS;
Settings.light_rotation = 0;
for (byte i = 0; i < MAX_PWMS; i++) {
Settings.light_color[i] = 255;
}
@ -835,7 +836,7 @@ void SettingsDelta()
}
}
if (!Settings.light_pixels && cfg_wsflg) {
Settings.light_pixels = Settings.ws_pixels;
Settings.light_pixels = WS2812_LEDS;
Settings.light_color[0] = Settings.ws_red;
Settings.light_color[1] = Settings.ws_green;
Settings.light_color[2] = Settings.ws_blue;
@ -887,6 +888,7 @@ void SettingsDelta()
Settings.flag.not_power_linked = 0;
}
if (Settings.version < 0x050C0005) {
Settings.light_rotation = 0;
char fingerprint[60];
memcpy(fingerprint, Settings.mqtt_fingerprint, sizeof(fingerprint));
char *p = fingerprint;

View File

@ -138,8 +138,8 @@ enum SettingsParmaIndex {P_HOLD_TIME, P_MAX_POWER_RETRY, P_MAX_PARAM8};
enum DomoticzSensors {DZ_TEMP, DZ_TEMP_HUM, DZ_TEMP_HUM_BARO, DZ_POWER_ENERGY, DZ_ILLUMINANCE, DZ_COUNT, DZ_VOLTAGE, DZ_CURRENT, DZ_AIRQUALITY, DZ_MAX_SENSORS};
enum Ws2812ClockIndex {WS_SECOND, WS_MINUTE, WS_HOUR};
enum Ws2812Color {WS_RED, WS_GREEN, WS_BLUE};
enum Ws2812ClockIndex { WS_SECOND, WS_MINUTE, WS_HOUR, WS_MARKER };
enum Ws2812Color { WS_RED, WS_GREEN, WS_BLUE };
enum LightTypes {LT_BASIC, LT_PWM1, LT_PWM2, LT_PWM3, LT_PWM4, LT_PWM5, LT_PWM6, LT_PWM7, LT_NU8, LT_NU9, LT_NU10, LT_WS2812, LT_RGBW, LT_RGBWC};
enum LichtSubtypes {LST_NONE, LST_SINGLE, LST_COLDWARM, LST_RGB, LST_RGBW, LST_RGBWC};
enum LichtSchemes {LS_POWER, LS_WAKEUP, LS_CYCLEUP, LS_CYCLEDN, LS_RANDOM, LS_MAX};

View File

@ -513,7 +513,7 @@ void MqttDataHandler(char* topic, byte* data, unsigned int data_len)
Settings.pulse_timer[index -1] = payload16; // 0 - 65535
pulse_timer[index -1] = 0;
}
snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_NVALUE, command, index, Settings.pulse_timer[index -1]);
snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_NVALUE_ACTIVE_NVALUE, command, index, Settings.pulse_timer[index -1], pulse_timer[index -1]);
}
else if (CMND_BLINKTIME == command_code) {
if ((payload > 2) && (payload <= 3600)) {

View File

@ -119,7 +119,7 @@ Decoding 14 results
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: MqttDataCallback(char*, unsigned char*, unsigned int) at R:\Arduino\Work-ESP8266\Theo\sonoff\sonoff-4\sonoff/sonoff.ino line 679 (discriminator 1)
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"}
@ -427,11 +427,12 @@ uint32_t GetHash(const char *buffer, size_t size)
* Wifi
\*********************************************************************************************/
#define WIFI_CONFIG_SEC 180 // seconds before restart
#define WIFI_CHECK_SEC 20 // seconds
#define WIFI_RETRY_SEC 30 // seconds
#define WIFI_CONFIG_SEC 180 // seconds before restart
#define WIFI_CHECK_SEC 20 // seconds
#define WIFI_RETRY_OFFSET_SEC 20 // seconds
uint8_t wifi_counter;
uint8_t wifi_retry_init;
uint8_t wifi_retry;
uint8_t wifi_status;
uint8_t wps_result;
@ -599,7 +600,7 @@ void WifiCheckIp()
{
if ((WL_CONNECTED == WiFi.status()) && (static_cast<uint32_t>(WiFi.localIP()) != 0)) {
wifi_counter = WIFI_CHECK_SEC;
wifi_retry = WIFI_RETRY_SEC;
wifi_retry = wifi_retry_init;
AddLog_P((wifi_status != WL_CONNECTED) ? LOG_LEVEL_INFO : LOG_LEVEL_DEBUG_MORE, S_LOG_WIFI, PSTR(D_CONNECTED));
if (wifi_status != WL_CONNECTED) {
// AddLog_P(LOG_LEVEL_INFO, PSTR("Wifi: Set IP addresses"));
@ -614,15 +615,15 @@ void WifiCheckIp()
case WL_CONNECTED:
AddLog_P(LOG_LEVEL_INFO, S_LOG_WIFI, PSTR(D_CONNECT_FAILED_NO_IP_ADDRESS));
wifi_status = 0;
wifi_retry = WIFI_RETRY_SEC;
wifi_retry = wifi_retry_init;
break;
case WL_NO_SSID_AVAIL:
AddLog_P(LOG_LEVEL_INFO, S_LOG_WIFI, PSTR(D_CONNECT_FAILED_AP_NOT_REACHED));
if (WIFI_WAIT == Settings.sta_config) {
wifi_retry = WIFI_RETRY_SEC;
wifi_retry = wifi_retry_init;
} else {
if (wifi_retry > (WIFI_RETRY_SEC / 2)) {
wifi_retry = WIFI_RETRY_SEC / 2;
if (wifi_retry > (wifi_retry_init / 2)) {
wifi_retry = wifi_retry_init / 2;
}
else if (wifi_retry) {
wifi_retry = 0;
@ -631,25 +632,25 @@ void WifiCheckIp()
break;
case WL_CONNECT_FAILED:
AddLog_P(LOG_LEVEL_INFO, S_LOG_WIFI, PSTR(D_CONNECT_FAILED_WRONG_PASSWORD));
if (wifi_retry > (WIFI_RETRY_SEC / 2)) {
wifi_retry = WIFI_RETRY_SEC / 2;
if (wifi_retry > (wifi_retry_init / 2)) {
wifi_retry = wifi_retry_init / 2;
}
else if (wifi_retry) {
wifi_retry = 0;
}
break;
default: // WL_IDLE_STATUS and WL_DISCONNECTED
if (!wifi_retry || ((WIFI_RETRY_SEC / 2) == wifi_retry)) {
if (!wifi_retry || ((wifi_retry_init / 2) == wifi_retry)) {
AddLog_P(LOG_LEVEL_INFO, S_LOG_WIFI, PSTR(D_CONNECT_FAILED_AP_TIMEOUT));
} else {
AddLog_P(LOG_LEVEL_DEBUG, S_LOG_WIFI, PSTR(D_ATTEMPTING_CONNECTION));
}
}
if (wifi_retry) {
if (WIFI_RETRY_SEC == wifi_retry) {
if (wifi_retry_init == wifi_retry) {
WifiBegin(3); // Select default SSID
}
if ((Settings.sta_config != WIFI_WAIT) && ((WIFI_RETRY_SEC / 2) == wifi_retry)) {
if ((Settings.sta_config != WIFI_WAIT) && ((wifi_retry_init / 2) == wifi_retry)) {
WifiBegin(2); // Select alternate SSID
}
wifi_counter = 1;
@ -657,7 +658,7 @@ void WifiCheckIp()
} else {
WifiConfig(Settings.sta_config);
wifi_counter = 1;
wifi_retry = WIFI_RETRY_SEC;
wifi_retry = wifi_retry_init;
}
}
}
@ -765,7 +766,8 @@ void WifiConnect()
{
WiFi.persistent(false); // Solve possible wifi init errors
wifi_status = 0;
wifi_retry = WIFI_RETRY_SEC;
wifi_retry_init = WIFI_RETRY_OFFSET_SEC + ((ESP.getChipId() & 0xF) * 2);
wifi_retry = wifi_retry_init;
wifi_counter = 1;
}

View File

@ -29,7 +29,7 @@
\*********************************************************************************************/
// -- Localization --------------------------------
//#define MY_LANGUAGE cz-CZ // Czech without fonetick in Czech
//#define MY_LANGUAGE cs-CZ // Czech in Czech
//#define MY_LANGUAGE de-DE // German in Germany
//#define MY_LANGUAGE en-GB // English in Great Britain. Enabled by Default
//#define MY_LANGUAGE es-AR // Spanish in Argentina

View File

@ -33,7 +33,7 @@
#define STR(x) STR_HELPER(x)
const char HTTP_HEAD[] PROGMEM =
"<!DOCTYPE html><html lang=\"en\" class=\"\">"
"<!DOCTYPE html><html lang=\"" D_HTML_LANGUAGE "\" class=\"\">"
"<head>"
"<meta charset='utf-8'>"
"<meta name=\"viewport\" content=\"width=device-width,initial-scale=1,user-scalable=no\"/>"

View File

@ -55,10 +55,10 @@
enum LightCommands {
CMND_COLOR, CMND_COLORTEMPERATURE, CMND_DIMMER, CMND_LED, CMND_LEDTABLE, CMND_FADE,
CMND_PIXELS, CMND_SCHEME, CMND_SPEED, CMND_WAKEUP, CMND_WAKEUPDURATION, CMND_WIDTH, CMND_UNDOCA };
CMND_PIXELS, CMND_ROTATION, CMND_SCHEME, CMND_SPEED, CMND_WAKEUP, CMND_WAKEUPDURATION, CMND_WIDTH, CMND_UNDOCA };
const char kLightCommands[] PROGMEM =
D_CMND_COLOR "|" D_CMND_COLORTEMPERATURE "|" D_CMND_DIMMER "|" D_CMND_LED "|" D_CMND_LEDTABLE "|" D_CMND_FADE "|"
D_CMND_PIXELS "|" D_CMND_SCHEME "|" D_CMND_SPEED "|" D_CMND_WAKEUP "|" D_CMND_WAKEUPDURATION "|" D_CMND_WIDTH "|UNDOCA" ;
D_CMND_PIXELS "|" D_CMND_ROTATION "|" D_CMND_SCHEME "|" D_CMND_SPEED "|" D_CMND_WAKEUP "|" D_CMND_WAKEUPDURATION "|" D_CMND_WIDTH "|UNDOCA" ;
struct LRgbColor {
uint8_t R, G, B;
@ -1018,7 +1018,7 @@ boolean LightCommand()
char option = (1 == XdrvMailbox.data_len) ? XdrvMailbox.data[0] : '\0';
int command_code = GetCommandCode(command, sizeof(command), XdrvMailbox.topic, kLightCommands);
if ((CMND_COLOR == command_code) && (light_subtype > LST_SINGLE) && (XdrvMailbox.index > 0) && (XdrvMailbox.index <= 5)) {
if ((CMND_COLOR == command_code) && (light_subtype > LST_SINGLE) && (XdrvMailbox.index > 0) && (XdrvMailbox.index <= 6)) {
if (XdrvMailbox.data_len > 0) {
valid_entry = LightColorEntry(XdrvMailbox.data, XdrvMailbox.data_len);
if (valid_entry) {
@ -1031,7 +1031,7 @@ boolean LightCommand()
}
Settings.light_scheme = 0;
coldim = true;
} else { // Color3, 4 and 5
} else { // Color3, 4, 5 and 6
for (byte i = 0; i < LST_RGB; i++) {
Settings.ws_color[XdrvMailbox.index -3][i] = light_entry_color[i];
}
@ -1065,11 +1065,18 @@ boolean LightCommand()
else if ((CMND_PIXELS == command_code) && (LT_WS2812 == light_type)) {
if ((XdrvMailbox.payload > 0) && (XdrvMailbox.payload <= WS2812_MAX_LEDS)) {
Settings.light_pixels = XdrvMailbox.payload;
Settings.light_rotation = 0;
Ws2812Clear();
light_update = 1;
}
snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_NVALUE, command, Settings.light_pixels);
}
else if ((CMND_ROTATION == command_code) && (LT_WS2812 == light_type)) {
if ((XdrvMailbox.payload >= 0) && (XdrvMailbox.payload < Settings.light_pixels)) {
Settings.light_rotation = XdrvMailbox.payload;
}
snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_NVALUE, command, Settings.light_rotation);
}
else if ((CMND_WIDTH == command_code) && (LT_WS2812 == light_type) && (XdrvMailbox.index > 0) && (XdrvMailbox.index <= 4)) {
if (1 == XdrvMailbox.index) {
if ((XdrvMailbox.payload >= 0) && (XdrvMailbox.payload <= 4)) {

View File

@ -114,9 +114,7 @@ void Ws2812StripShow()
int mod(int a, int b)
{
int ret = a % b;
if (ret < 0) {
ret += b;
}
if (ret < 0) ret += b;
return ret;
}
@ -142,13 +140,15 @@ void Ws2812UpdatePixelColor(int position, struct WsColor hand_color, float offse
void Ws2812UpdateHand(int position, uint8_t index)
{
if (Settings.flag.ws_clock_reverse) {
position = Settings.light_pixels -position;
}
position = (position + Settings.light_rotation) % Settings.light_pixels;
if (Settings.flag.ws_clock_reverse) position = Settings.light_pixels -position;
WsColor hand_color = { Settings.ws_color[index][WS_RED], Settings.ws_color[index][WS_GREEN], Settings.ws_color[index][WS_BLUE] };
Ws2812UpdatePixelColor(position, hand_color, 1);
uint8_t range = ((Settings.ws_width[index] -1) / 2) +1;
uint8_t range = 1;
if (index < WS_MARKER) range = ((Settings.ws_width[index] -1) / 2) +1;
for (uint8_t h = 1; h < range; h++) {
float offset = (float)(range - h) / (float)range;
Ws2812UpdatePixelColor(position -h, hand_color, offset);
@ -160,9 +160,15 @@ void Ws2812Clock()
{
strip->ClearTo(0); // Reset strip
int clksize = 60000 / (int)Settings.light_pixels;
Ws2812UpdateHand((RtcTime.second * 1000) / clksize, WS_SECOND);
Ws2812UpdateHand((RtcTime.minute * 1000) / clksize, WS_MINUTE);
Ws2812UpdateHand(((RtcTime.hour % 12) * (5000 / clksize)) + ((RtcTime.minute * 1000) / (12 * clksize)), WS_HOUR);
if (Settings.ws_color[WS_MARKER][WS_RED] + Settings.ws_color[WS_MARKER][WS_GREEN] + Settings.ws_color[WS_MARKER][WS_BLUE]) {
for (byte i = 0; i < 12; i++) {
Ws2812UpdateHand((i * 5000) / clksize, WS_MARKER);
}
}
Ws2812StripShow();
}
@ -207,9 +213,7 @@ void Ws2812Gradient(uint8_t schemenr)
#endif
ColorScheme scheme = kSchemes[schemenr];
if (scheme.count < 2) {
return;
}
if (scheme.count < 2) return;
uint8_t repeat = kRepeat[Settings.light_width]; // number of scheme.count per ledcount
uint16_t range = (uint16_t)ceil((float)Settings.light_pixels / (float)repeat);
@ -260,9 +264,7 @@ void Ws2812Bars(uint8_t schemenr)
ColorScheme scheme = kSchemes[schemenr];
uint16_t maxSize = Settings.light_pixels / scheme.count;
if (kWidth[Settings.light_width] > maxSize) {
maxSize = 0;
}
if (kWidth[Settings.light_width] > maxSize) maxSize = 0;
uint16_t speed = ((Settings.light_speed * 2) -1) * (STATES / 10);
uint8_t offset = speed > 0 ? strip_timer_counter / speed : 0;
@ -280,9 +282,7 @@ void Ws2812Bars(uint8_t schemenr)
}
uint8_t colorIndex = offset % scheme.count;
for (i = 0; i < Settings.light_pixels; i++) {
if (maxSize) {
colorIndex = ((i + offset) % (scheme.count * kWidth[Settings.light_width])) / kWidth[Settings.light_width];
}
if (maxSize) colorIndex = ((i + offset) % (scheme.count * kWidth[Settings.light_width])) / kWidth[Settings.light_width];
c.R = mcolor[colorIndex].red;
c.G = mcolor[colorIndex].green;
c.B = mcolor[colorIndex].blue;

View File

@ -287,6 +287,8 @@ boolean Ds18x20Read(uint8_t sensor, float &t)
{
uint8_t data[9];
int8_t sign = 1;
uint16_t temp12 = 0;
int16_t temp14 = 0;
float temp9 = 0.0;
t = NAN;
@ -315,23 +317,30 @@ boolean Ds18x20Read(uint8_t sensor, float &t)
case DS1822_CHIPID:
case DS18B20_CHIPID:
if (data[4] != 0x7F) {
data[4] = 0x7F; // Set resolution to 12-bit
data[4] = 0x7F; // Set resolution to 12-bit
OneWireReset();
OneWireSelect(ds18x20_address[ds18x20_index[sensor]]);
OneWireWrite(W1_WRITE_SCRATCHPAD);
OneWireWrite(data[2]); // Th Register
OneWireWrite(data[3]); // Tl Register
OneWireWrite(data[4]); // Configuration Register
OneWireWrite(data[2]); // Th Register
OneWireWrite(data[3]); // Tl Register
OneWireWrite(data[4]); // Configuration Register
OneWireSelect(ds18x20_address[ds18x20_index[sensor]]);
OneWireWrite(W1_WRITE_EEPROM); // Save scratchpad to EEPROM
OneWireWrite(W1_WRITE_EEPROM); // Save scratchpad to EEPROM
}
case MAX31850_CHIPID:
uint16_t temp12 = (data[1] << 8) + data[0];
temp12 = (data[1] << 8) + data[0];
if (temp12 > 2047) {
temp12 = (~temp12) +1;
sign = -1;
}
t = ConvertTemp(sign * temp12 * 0.0625);
t = ConvertTemp(sign * temp12 * 0.0625); // Divide by 16
break;
case MAX31850_CHIPID:
temp14 = (data[1] << 8) + (data[0] & 0xFC);
if (temp14 < 0) {
temp14 = (~temp14) +1;
sign = -1;
}
t = ConvertTemp(sign * temp14 * 0.0625); // Divide by 16
break;
}
}
@ -404,8 +413,13 @@ boolean Xsns05(byte function)
case FUNC_INIT:
Ds18x20Init();
break;
// case FUNC_EVERY_SECOND:
// if ((Settings.tele_period - tele_period) &3 == 3) {
// Ds18x20Convert(); // Start conversion every four seconds, takes up to one second
// }
// break;
case FUNC_PREP_BEFORE_TELEPERIOD:
Ds18x20Convert(); // Start conversion, takes up to one second
Ds18x20Convert(); // Start conversion, takes up to one second
break;
case FUNC_JSON_APPEND:
Ds18x20Show(1);
@ -413,7 +427,7 @@ boolean Xsns05(byte function)
#ifdef USE_WEBSERVER
case FUNC_WEB_APPEND:
Ds18x20Show(0);
Ds18x20Convert(); // Start conversion, takes up to one second
Ds18x20Convert(); // Start conversion, takes up to one second
break;
#endif // USE_WEBSERVER
}

View File

@ -103,6 +103,8 @@ boolean Ds18x20Read(uint8_t sensor, float &t)
{
byte data[12];
int8_t sign = 1;
uint16_t temp12 = 0;
int16_t temp14 = 0;
float temp9 = 0.0;
uint8_t present = 0;
@ -117,7 +119,7 @@ boolean Ds18x20Read(uint8_t sensor, float &t)
}
if (OneWire::crc8(data, 8) == data[8]) {
switch(ds18x20_address[ds18x20_index[sensor]][0]) {
case DS18S20_CHIPID: // DS18S20
case DS18S20_CHIPID:
if (data[1] > 0x80) {
data[0] = (~data[0]) +1;
sign = -1; // App-Note fix possible sign error
@ -129,14 +131,21 @@ boolean Ds18x20Read(uint8_t sensor, float &t)
}
t = ConvertTemp((temp9 - 0.25) + ((16.0 - data[6]) / 16.0));
break;
case DS18B20_CHIPID: // DS18B20
case MAX31850_CHIPID: // MAX31850
uint16_t temp12 = (data[1] << 8) + data[0];
case DS18B20_CHIPID:
temp12 = (data[1] << 8) + data[0];
if (temp12 > 2047) {
temp12 = (~temp12) +1;
sign = -1;
}
t = ConvertTemp(sign * temp12 * 0.0625);
t = ConvertTemp(sign * temp12 * 0.0625); // Divide by 16
break;
case MAX31850_CHIPID:
temp14 = (data[1] << 8) + (data[0] & 0xFC);
if (temp14 < 0) {
temp14 = (~temp14) +1;
sign = -1;
}
t = ConvertTemp(sign * temp14 * 0.0625); // Divide by 16
break;
}
}