From b583bc48f4c5ae19ad6628693bdee34e984c7629 Mon Sep 17 00:00:00 2001 From: arendst Date: Sat, 6 Jan 2018 17:34:42 +0100 Subject: [PATCH] v5.10.0j - MQTT/JSON language consolidation complete 5.10.0j * Allow conditional code based on core version * Removed all MQTT, JSON and Command language defines from locale files (#1473) --- README.md | 2 +- sonoff/_releasenotes.ino | 6 +- sonoff/i18n.h | 123 ++++++++++++++++++++++++++++------- sonoff/language/de-DE.h | 62 +----------------- sonoff/language/en-GB.h | 62 +----------------- sonoff/language/it-IT.h | 62 +----------------- sonoff/language/nl-NL.h | 62 +----------------- sonoff/language/pl-PL.h | 62 +----------------- sonoff/sonoff.ino | 82 +++++++++++------------ sonoff/sonoff_post.h | 4 ++ sonoff/support.ino | 18 ++--- sonoff/user_config.h | 4 +- sonoff/webserver.ino | 2 +- sonoff/xdrv_01_light.ino | 2 +- sonoff/xdrv_02_irremote.ino | 2 +- sonoff/xdrv_04_snfbridge.ino | 22 +++---- sonoff/xsns_03_energy.ino | 16 ++--- sonoff/xsns_05_ds18x20.ino | 2 +- sonoff/xsns_09_bmp.ino | 2 +- 19 files changed, 190 insertions(+), 407 deletions(-) diff --git a/README.md b/README.md index b0e26f219..edff41892 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ ## Sonoff-Tasmota Provide ESP8266 based Sonoff by [iTead Studio](https://www.itead.cc/) and ElectroDragon IoT Relay with Serial, Web and MQTT control allowing 'Over the Air' or OTA firmware updates using Arduino IDE. -Current version is **5.10.0i** - See [sonoff/_releasenotes.ino](https://github.com/arendst/Sonoff-Tasmota/blob/development/sonoff/_releasenotes.ino) for change information. +Current version is **5.10.0j** - See [sonoff/_releasenotes.ino](https://github.com/arendst/Sonoff-Tasmota/blob/development/sonoff/_releasenotes.ino) for change information. ### ATTENTION All versions diff --git a/sonoff/_releasenotes.ino b/sonoff/_releasenotes.ino index 049c47119..6bdada0bb 100644 --- a/sonoff/_releasenotes.ino +++ b/sonoff/_releasenotes.ino @@ -1,4 +1,8 @@ -/* 5.10.0i +/* 5.10.0j + * Allow conditional code based on core version + * Removed all MQTT, JSON and Command language defines from locale files (#1473) + * + * 5.10.0i * Add device function pointers * Moved Command and JSON English language defines to one file (i18n.h) * Update it-IT.h language file (#1449) diff --git a/sonoff/i18n.h b/sonoff/i18n.h index a1a832dc5..c0f3b0c91 100644 --- a/sonoff/i18n.h +++ b/sonoff/i18n.h @@ -20,49 +20,113 @@ #ifndef _I18N_H_ #define _I18N_H_ -/********************************************************************************************/ +/*********************************************************************************************\ + * All text used in Commands, MQTT, JSON messages only in English (#1473) + * + * (At this location they can/may be overruled by language files using undefs) +\*********************************************************************************************/ -// Text used in JSON messages only in English (#1473) +#define D_JSON_ABORTED "Aborted" +#define D_JSON_ACTIVE "Active" #define D_JSON_ADDRESS "Address" #define D_JSON_AIRQUALITY "AirQuality" #define D_JSON_ANALOG_INPUT "Analog" -#define D_JSON_CO2 "Carbon dioxide" +#define D_JSON_AP "AP" // Access Point +#define D_JSON_APMAC_ADDRESS "APMac" +#define D_JSON_APPENDED "Appended" +#define D_JSON_BAUDRATE "Baudrate" +#define D_JSON_BLINK "Blink" +#define D_JSON_BLOCKED_LOOP "Blocked Loop" +#define D_JSON_BOOTVERSION "Boot" +#define D_JSON_BOOTCOUNT "BootCount" +#define D_JSON_BUILDDATETIME "BuildDateTime" +#define D_JSON_CO2 "CarbonDioxide" +#define D_JSON_COMMAND "Command" +#define D_JSON_COREVERSION "Core" #define D_JSON_COUNTER "Counter" -#define D_JSON_CURRENT "Current" // As in Voltage and Current +#define D_JSON_CURRENT "Current" // As in Voltage and Current #define D_JSON_DATA "Data" +#define D_JSON_DNSSERVER "DNSServer" #define D_JSON_DONE "Done" +#define D_JSON_EMPTY "Empty" +#define D_JSON_ENDDST "EndDST" // End Daylight Savings Time +#define D_JSON_ERASE "Erase" +#define D_JSON_ERROR "Error" +#define D_JSON_EVERY "Every" +#define D_JSON_FAILED "Failed" +#define D_JSON_FALLBACKTOPIC "FallbackTopic" +#define D_JSON_FLASHMODE "FlashMode" +#define D_JSON_FLASHSIZE "FlashSize" +#define D_JSON_FREEMEMORY "Free" +#define D_JSON_FROM "from" +#define D_JSON_GAS "Gas" +#define D_JSON_GATEWAY "Gateway" +#define D_JSON_HEAPSIZE "Heap" #define D_JSON_HIGH "High" #define D_JSON_HUMIDITY "Humidity" +#define D_JSON_I2CSCAN_DEVICES_FOUND_AT "Device(s) found at" +#define D_JSON_I2CSCAN_UNKNOWN_ERROR_AT "Unknown error at" +#define D_JSON_I2CSCAN_NO_DEVICES_FOUND "No devices found" +#define D_JSON_ID "Id" #define D_JSON_ILLUMINANCE "Illuminance" #define D_JSON_UNKNOWN "Unknown" #define D_JSON_LIGHT "Light" +#define D_JSON_LOCAL_TIME "Local" #define D_JSON_LOW "Low" +#define D_JSON_MAC "Mac" +#define D_JSON_MASK "Mask" +#define D_JSON_NO "No" #define D_JSON_NOISE "Noise" +#define D_JSON_NONE "None" #define D_JSON_OR "or" #define D_JSON_PERIOD "Period" #define D_JSON_POWERFACTOR "Factor" #define D_JSON_POWERUSAGE "Power" #define D_JSON_PRESSURE "Pressure" #define D_JSON_PRESSUREATSEALEVEL "SeaPressure" +#define D_JSON_PROGRAMFLASHSIZE "ProgramFlashSize" +#define D_JSON_PROGRAMSIZE "ProgramSize" +#define D_JSON_RESTARTING "Restarting" +#define D_JSON_RESTARTREASON "RestartReason" +#define D_JSON_RSSI "RSSI" +#define D_JSON_SAVEADDRESS "SaveAddress" +#define D_JSON_SAVECOUNT "SaveCount" +#define D_JSON_SAVED "Saved" +#define D_JSON_SAVESTATE "SaveState" +#define D_JSON_SDKVERSION "SDK" +#define D_JSON_SELECTED "selected" +#define D_JSON_SSID "SSId" +#define D_JSON_STARTDST "StartDST" // Start Daylight Savings Time +#define D_JSON_STARTED "Started" +#define D_JSON_SUBNETMASK "Subnetmask" +#define D_JSON_SUCCESSFUL "Successful" +#define D_JSON_SWITCH "Switch" #define D_JSON_SYNC "Sync" #define D_JSON_TEMPERATURE "Temperature" +#define D_JSON_TEMPERATURE_UNIT "TempUnit" +#define D_JSON_TIME "Time" #define D_JSON_TODAY "Today" #define D_JSON_TOTAL "Total" #define D_JSON_TYPE "Type" -#define D_JSON_UV_LEVEL "UV Level" +#define D_JSON_UPTIME "Uptime" +#define D_JSON_UTC_TIME "UTC" +#define D_JSON_UV_LEVEL "UvLevel" +#define D_JSON_VCC "Vcc" +#define D_JSON_VERSION "Version" #define D_JSON_VOLTAGE "Voltage" +#define D_JSON_WIFI "Wifi" #define D_JSON_WRONG "Wrong" #define D_JSON_YESTERDAY "Yesterday" -// Result -#define D_RSLT_RESULT "RESULT" -#define D_RSLT_INFO "INFO" -#define D_RSLT_STATE "STATE" -#define D_RSLT_SENSOR "SENSOR" -#define D_RSLT_UPTIME "UPTIME" -#define D_RSLT_MARGINS "MARGINS" -#define D_RSLT_WARNING "WARNING" #define D_RSLT_ENERGY "ENERGY" +#define D_RSLT_INFO "INFO" +#define D_RSLT_MARGINS "MARGINS" +#define D_RSLT_POWER "POWER" +#define D_RSLT_RESULT "RESULT" +#define D_RSLT_SENSOR "SENSOR" +#define D_RSLT_STATE "STATE" +#define D_RSLT_UPTIME "UPTIME" +#define D_RSLT_WARNING "WARNING" // Commands sonoff.ino #define D_CMND_MQTTHOST "MqttHost" @@ -102,7 +166,6 @@ #define D_STATUS10_SENSOR "SNS" #define D_STATUS11_STATUS "STS" #define D_CMND_POWER "Power" - #define D_RSLT_POWER "POWER" #define D_CMND_POWERONSTATE "PowerOnState" #define D_CMND_PULSETIME "PulseTime" #define D_CMND_BLINKTIME "BlinkTime" @@ -119,7 +182,7 @@ #define D_CMND_MODULE "Module" #define D_CMND_MODULES "Modules" #define D_CMND_GPIO "GPIO" - #define D_NOT_SUPPORTED "Not supported" + #define D_JSON_NOT_SUPPORTED "Not supported" #define D_CMND_GPIOS "GPIOs" #define D_CMND_PWM "PWM" #define D_CMND_PWMFREQUENCY "PWMFrequency" @@ -130,7 +193,7 @@ #define D_CMND_SLEEP "Sleep" #define D_CMND_UPLOAD "Upload" #define D_CMND_UPGRADE "Upgrade" - #define D_ONE_OR_GT "1 or >%s to upgrade" + #define D_JSON_ONE_OR_GT "1 or >%s to upgrade" #define D_CMND_OTAURL "OtaUrl" #define D_CMND_SERIALLOG "SerialLog" #define D_CMND_SYSLOG "SysLog" @@ -153,18 +216,19 @@ #define D_CMND_FRIENDLYNAME "FriendlyName" #define D_CMND_SWITCHMODE "SwitchMode" #define D_CMND_WEBSERVER "Webserver" - #define D_WEBSERVER_MODE "WebServerMode" - #define D_ACTIVE_FOR "Active for" - #define D_ON_DEVICE "on" + #define D_JSON_WEBSERVER_MODE "WebServerMode" + #define D_JSON_ACTIVE_FOR "Active for" + #define D_JSON_ON_DEVICE "on" + #define D_JSON_WITH_IP_ADDRESS "with IP address" #define D_CMND_WEBPASSWORD "WebPassword" #define D_CMND_WEBLOG "WebLog" #define D_CMND_EMULATION "Emulation" #define D_CMND_TELEPERIOD "TelePeriod" #define D_CMND_RESTART "Restart" - #define D_ONE_TO_RESTART "1 to restart" + #define D_JSON_ONE_TO_RESTART "1 to restart" #define D_CMND_RESET "Reset" - #define D_RESET_AND_RESTARTING "Reset and Restarting" - #define D_ONE_TO_RESET "1 to reset" + #define D_JSON_RESET_AND_RESTARTING "Reset and Restarting" + #define D_JSON_ONE_TO_RESET "1 to reset" #define D_CMND_TIMEZONE "Timezone" #define D_CMND_ALTITUDE "Altitude" #define D_CMND_LEDPOWER "LedPower" @@ -209,19 +273,32 @@ #define D_CMND_MAXPOWER "MaxPower" #define D_CMND_MAXPOWERHOLD "MaxPowerHold" #define D_CMND_MAXPOWERWINDOW "MaxPowerWindow" + #define D_JSON_MAXPOWERREACHED "MaxPowerReached" + #define D_JSON_MAXPOWERREACHEDRETRY "MaxPowerReachedRetry" #define D_CMND_SAFEPOWER "SafePower" #define D_CMND_SAFEPOWERHOLD "SafePowerHold" #define D_CMND_SAFEPOWERWINDOW "SafePowerWindow" + #define D_JSON_POWERMONITOR "PowerMonitor" #define D_CMND_MAXENERGY "MaxEnergy" #define D_CMND_MAXENERGYSTART "MaxEnergyStart" + #define D_JSON_ENERGYMONITOR "EnergyMonitor" + #define D_JSON_MAXENERGYREACHED "MaxEnergyReached" // Commands xdrv_04_snfbridge.ino #define D_CMND_RFCODE "RfCode" #define D_CMND_RFHIGH "RfHigh" #define D_CMND_RFHOST "RfHost" #define D_CMND_RFKEY "RfKey" + #define D_JSON_START_LEARNING "Start learning" + #define D_JSON_SET_TO_DEFAULT "Set to default" + #define D_JSON_DEFAULT_SENT "Default sent" + #define D_JSON_LEARNED_SENT "Learned sent" + #define D_JSON_LEARNING_ACTIVE "Learning active" + #define D_JSON_LEARN_FAILED "Learn failed" + #define D_JSON_LEARNED "Learned" #define D_CMND_RFLOW "RfLow" #define D_CMND_RFSYNC "RfSync" + #define D_JSON_RFRECEIVED "RfReceived" // Commands xdrv_05_domoticz.ino #define D_CMND_DOMOTICZ "Domoticz" @@ -296,7 +373,7 @@ const char S_JSON_COMMAND_NVALUE_UNIT[] PROGMEM = "{\"%s\":\"%d%s\"} const char S_JSON_COMMAND_NVALUE_UNIT_NVALUE_UNIT[] PROGMEM = "{\"%s\":\"%d%s (%d%s)\"}"; const char S_JSON_COMMAND_NVALUE_SVALUE[] PROGMEM = "{\"%s\":\"%d (%s)\"}"; -const char S_JSON_COMMAND_NVALUE_ACTIVE_NVALUE[] PROGMEM = "{\"%s\":\"%d (" D_ACTIVE " %d)\"}"; +const char S_JSON_COMMAND_NVALUE_ACTIVE_NVALUE[] PROGMEM = "{\"%s\":\"%d (" D_JSON_ACTIVE " %d)\"}"; const char S_JSON_COMMAND_NVALUE[] PROGMEM = "{\"%s\":%d}"; const char S_JSON_COMMAND_SVALUE[] PROGMEM = "{\"%s\":\"%s\"}"; diff --git a/sonoff/language/de-DE.h b/sonoff/language/de-DE.h index 65a3d587b..3af1998f8 100644 --- a/sonoff/language/de-DE.h +++ b/sonoff/language/de-DE.h @@ -44,32 +44,24 @@ #define D_DECIMAL_SEPARATOR "." // Common -#define D_ABORTED "abgebrochen" -#define D_ACTIVE "aktiv" #define D_ADMIN "Admin" #define D_AIR_QUALITY "Luftqualität" #define D_AP "AP" // Access Point -#define D_APMAC_ADDRESS "AP-Mac" -#define D_APPENDED "angehängt" #define D_AS "wie" #define D_AUTO "AUTO" -#define D_BAUDRATE "Baudrate" #define D_BLINK "Blinken" #define D_BLINKOFF "BlinkenAus" -#define D_BOOTVERSION "Boot" #define D_BOOT_COUNT "Anzahl Startvorgänge" -#define D_BOOTCOUNT "BootZähler" #define D_BRIGHTLIGHT "hell" -#define D_BUILDDATETIME "BuildDatumUhrzeit" #define D_BUTTON "Knopf" #define D_BY "von" // Written by me +#define D_BYTES "Bytes" #define D_CELSIUS "Celsius" #define D_CO2 "CO²" #define D_CODE "code" // Button code #define D_COLDLIGHT "kalt" #define D_COMMAND "Befehl" #define D_CONNECTED "verbunden" -#define D_COREVERSION "Core" #define D_COUNT "zählen" #define D_COUNTER "Zähler" #define D_CURRENT "Strom" // As in Voltage and Current @@ -78,36 +70,25 @@ #define D_DEBUG "debug" #define D_DISABLED "deaktiviert" #define D_DNS_SERVER "DNS Server" -#define D_DNSSERVER "DNSServer" #define D_DONE "erledigt" #define D_DST_TIME "DST" -#define D_EMPTY "leer" #define D_EMULATION "Emulation" #define D_ENABLED "aktiviert" -#define D_ENDDST "EndDST" // End Daylight Savings Time #define D_ERASE "löschen" #define D_ERROR "Fehler" -#define D_EVERY "alle" #define D_FAHRENHEIT "Fahrenheit" #define D_FAILED "fehlgeschlagen" #define D_FALLBACK "Fallback" #define D_FALLBACK_TOPIC "Fallback topic" -#define D_FALLBACKTOPIC "FallbackTopic" #define D_FALSE "falsch" #define D_FILE "Datei" -#define D_FLASHMODE "FlashMode" -#define D_FLASHSIZE "FlashSize" #define D_FREE_MEMORY "Freier Arbeitsspeicher" -#define D_FREEMEMORY "frei" -#define D_FROM "von" #define D_GAS "Gas" #define D_GATEWAY "Gateway" #define D_GROUP "Gruppe" -#define D_HEAPSIZE "Heap-Größe" #define D_HOST "Host" #define D_HOSTNAME "Hostname" #define D_HUMIDITY "Feuchtigkeit" -#define D_ID "ID" #define D_ILLUMINANCE "Beleuchtungsintensität" #define D_IMMEDIATE "direkt" // Button immediate #define D_INDEX "Index" @@ -115,15 +96,10 @@ #define D_INITIALIZED "initialisiert" #define D_IP_ADDRESS "IP-Addresse" #define D_LIGHT "Licht" -#define D_LIMIT "Grenzwert" -#define D_LOCAL_TIME "lokale Zeit" #define D_LWT "LWT" -#define D_MAC "MAC" -#define D_MASK "Maske" #define D_MODULE "Modul" #define D_MQTT "MQTT" #define D_MULTI_PRESS "Mehrfachdruck" -#define D_NO "nein" #define D_NOISE "Lautstärke" #define D_NONE "keine" #define D_OFF "aus" @@ -138,41 +114,26 @@ #define D_PRESSURE "Druck" #define D_PRESSUREATSEALEVEL "MeeresDruck" #define D_PROGRAM_FLASH_SIZE "Ges. Flash Speicher" -#define D_PROGRAMFLASHSIZE "ProgramFlashSize" #define D_PROGRAM_SIZE "Ben. Flash Speicher" -#define D_PROGRAMSIZE "ProgramSize" #define D_PROJECT "Projekt" #define D_RECEIVED "erhalten" #define D_RESTART "Neustart" #define D_RESTARTING "starte neu" #define D_RESTART_REASON "Grund für Neustart" -#define D_RESTARTREASON "RestartReason" #define D_RESTORE "Wiederherstellung" #define D_RETAINED "beibehalten" #define D_SAVE "Speichern" -#define D_SAVEADDRESS "SaveAddress" -#define D_SAVECOUNT "SaveCount" -#define D_SAVESTATE "SaveState" -#define D_SDKVERSION "SDK" -#define D_SELECTED "ausgewählt" #define D_SENSOR "Sensor" #define D_SERIAL "Seriell" -#define D_BYTES "Bytes" #define D_SSID "SSID" #define D_START "Start" -#define D_STARTED "gestartet" -#define D_STARTDST "StartDST" // Start Daylight Savings Time #define D_STD_TIME "STD" #define D_STOP "Stop" #define D_SUBNET_MASK "Subnetzmaske" -#define D_SUBNETMASK "Subnetmaske" #define D_SUBSCRIBE_TO "subscribe to" #define D_SUCCESSFUL "erfolgreich" -#define D_SWITCH "Schalter" #define D_SYS "Sys " // Sys log #define D_TEMPERATURE "Temperatur" -#define D_TEMPERATURE_UNIT "TempUnit" -#define D_TIME "Zeit" #define D_TO "zu" #define D_TOGGLE "An/Aus" #define D_TOPIC "topic" @@ -184,13 +145,11 @@ #define D_USER "Benutzer" #define D_UTC_TIME "UTC" #define D_UV_LEVEL "UV Level" -#define D_VCC "VCC" #define D_VERSION "Version" #define D_VOLTAGE "Spannung" #define D_WARMLIGHT "warm" #define D_WEB "Web" // Web log #define D_WEB_SERVER "Web-Server" -#define D_WIFI "WLAN" // sonoff.ino #define D_LEVEL_10 "level 1-0" @@ -227,10 +186,7 @@ #define D_CHECKING_CONNECTION "Prüfe Verbindung..." #define D_QUERY_DONE "Suchanfrage abgeschlossen. MQTT-Services gefunden" #define D_MQTT_SERVICE_FOUND "MQTT-Service gefunden bei" -#define D_I2CSCAN_DEVICES_FOUND_AT "Gerät(e) gefunden bei" #define D_FOUND_AT "gefunden bei" -#define D_I2CSCAN_UNKNOWN_ERROR_AT "unbekannter Fehler bei" -#define D_I2CSCAN_NO_DEVICES_FOUND "keine Geräte gefunden" #define D_SYSLOG_HOST_NOT_FOUND "Syslog Host nicht gefunden" // settings.ino @@ -392,17 +348,6 @@ #define D_JSON_IRHVAC_TEMP "TEMPERATUR" #define D_JSON_IRRECEIVED "IR empfangen" -// xdrv_04_snfbridge.ino -#define D_RFRECEIVED "RF empfangen" -#define D_START_LEARNING "starte Anlernen" -#define D_SET_TO_DEFAULT "auf Standard zurücksetzen" -#define D_DEFAULT_SENT "Standard gesendet" -#define D_LEARNED_SENT "Anlernen gesendet" -#define D_LEARNING_ACTIVE "Anlernen aktiv" -#define D_LEARN_FAILED "Anlernen fehlgeschlagen" -#define D_LEARNED "angelernt" -#define D_SAVED "gespeichert" - // xdrv_05_domoticz.ino #define D_DOMOTICZ_PARAMETERS "Domoticz parameters" #define D_DOMOTICZ_IDX "Idx" @@ -421,11 +366,6 @@ #define D_DOMOTICZ_UPDATE_TIMER "Update timer" // xsns_03_energy.ino -#define D_MAXPOWERREACHED "MaxPowerReached" -#define D_MAXPOWERREACHEDRETRY "MaxPowerReachedRetry" -#define D_POWERMONITOR "PowerMonitor" -#define D_ENERGYMONITOR "EnergyMonitor" -#define D_MAXENERGYREACHED "MaxEnergyReached" #define D_ENERGY_TODAY "Energie heute" #define D_ENERGY_YESTERDAY "Energie gestern" #define D_ENERGY_TOTAL "Energie insgesamt" diff --git a/sonoff/language/en-GB.h b/sonoff/language/en-GB.h index d10851f2a..b043618f0 100644 --- a/sonoff/language/en-GB.h +++ b/sonoff/language/en-GB.h @@ -44,32 +44,24 @@ #define D_DECIMAL_SEPARATOR "." // Common -#define D_ABORTED "Aborted" -#define D_ACTIVE "Active" #define D_ADMIN "Admin" #define D_AIR_QUALITY "Air quality" #define D_AP "AP" // Access Point -#define D_APMAC_ADDRESS "APMac" -#define D_APPENDED "Appended" #define D_AS "as" #define D_AUTO "AUTO" -#define D_BAUDRATE "Baudrate" #define D_BLINK "Blink" #define D_BLINKOFF "BlinkOff" -#define D_BOOTVERSION "Boot" #define D_BOOT_COUNT "Boot Count" -#define D_BOOTCOUNT "BootCount" #define D_BRIGHTLIGHT "Bright" -#define D_BUILDDATETIME "BuildDateTime" #define D_BUTTON "Button" #define D_BY "by" // Written by me +#define D_BYTES "Bytes" #define D_CELSIUS "Celsius" #define D_CO2 "Carbon dioxide" #define D_CODE "code" // Button code #define D_COLDLIGHT "Cold" #define D_COMMAND "Command" #define D_CONNECTED "Connected" -#define D_COREVERSION "Core" #define D_COUNT "Count" #define D_COUNTER "Counter" #define D_CURRENT "Current" // As in Voltage and Current @@ -78,36 +70,25 @@ #define D_DEBUG "Debug" #define D_DISABLED "Disabled" #define D_DNS_SERVER "DNS Server" -#define D_DNSSERVER "DNSServer" #define D_DONE "Done" #define D_DST_TIME "DST" -#define D_EMPTY "Empty" #define D_EMULATION "Emulation" #define D_ENABLED "Enabled" -#define D_ENDDST "EndDST" // End Daylight Savings Time #define D_ERASE "Erase" #define D_ERROR "Error" -#define D_EVERY "Every" #define D_FAHRENHEIT "Fahrenheit" #define D_FAILED "Failed" #define D_FALLBACK "Fallback" #define D_FALLBACK_TOPIC "Fallback Topic" -#define D_FALLBACKTOPIC "FallbackTopic" #define D_FALSE "False" #define D_FILE "File" -#define D_FLASHMODE "FlashMode" -#define D_FLASHSIZE "FlashSize" #define D_FREE_MEMORY "Free Memory" -#define D_FREEMEMORY "Free" -#define D_FROM "from" #define D_GAS "Gas" #define D_GATEWAY "Gateway" #define D_GROUP "Group" -#define D_HEAPSIZE "Heap" #define D_HOST "Host" #define D_HOSTNAME "Hostname" #define D_HUMIDITY "Humidity" -#define D_ID "Id" #define D_ILLUMINANCE "Illuminance" #define D_IMMEDIATE "immediate" // Button immediate #define D_INDEX "Index" @@ -115,15 +96,10 @@ #define D_INITIALIZED "Initialized" #define D_IP_ADDRESS "IP Address" #define D_LIGHT "Light" -#define D_LIMIT "Limit" -#define D_LOCAL_TIME "Local" #define D_LWT "LWT" -#define D_MAC "Mac" -#define D_MASK "Mask" #define D_MODULE "Module" #define D_MQTT "MQTT" #define D_MULTI_PRESS "multi-press" -#define D_NO "No" #define D_NOISE "Noise" #define D_NONE "None" #define D_OFF "Off" @@ -138,41 +114,26 @@ #define D_PRESSURE "Pressure" #define D_PRESSUREATSEALEVEL "SeaPressure" #define D_PROGRAM_FLASH_SIZE "Program Flash Size" -#define D_PROGRAMFLASHSIZE "ProgramFlashSize" #define D_PROGRAM_SIZE "Program Size" -#define D_PROGRAMSIZE "ProgramSize" #define D_PROJECT "Project" #define D_RECEIVED "Received" #define D_RESTART "Restart" #define D_RESTARTING "Restarting" #define D_RESTART_REASON "Restart Reason" -#define D_RESTARTREASON "RestartReason" #define D_RESTORE "restore" #define D_RETAINED "retained" #define D_SAVE "Save" -#define D_SAVEADDRESS "SaveAddress" -#define D_SAVECOUNT "SaveCount" -#define D_SAVESTATE "SaveState" -#define D_SDKVERSION "SDK" -#define D_SELECTED "selected" #define D_SENSOR "Sensor" #define D_SERIAL "Serial" -#define D_BYTES "Bytes" #define D_SSID "SSId" #define D_START "Start" -#define D_STARTED "Started" -#define D_STARTDST "StartDST" // Start Daylight Savings Time #define D_STD_TIME "STD" #define D_STOP "Stop" #define D_SUBNET_MASK "Subnet Mask" -#define D_SUBNETMASK "Subnetmask" #define D_SUBSCRIBE_TO "Subscribe to" #define D_SUCCESSFUL "Successful" -#define D_SWITCH "Switch" #define D_SYS "Sys" // Sys log #define D_TEMPERATURE "Temperature" -#define D_TEMPERATURE_UNIT "TempUnit" -#define D_TIME "Time" #define D_TO "to" #define D_TOGGLE "Toggle" #define D_TOPIC "Topic" @@ -184,13 +145,11 @@ #define D_USER "User" #define D_UTC_TIME "UTC" #define D_UV_LEVEL "UV Level" -#define D_VCC "Vcc" #define D_VERSION "Version" #define D_VOLTAGE "Voltage" #define D_WARMLIGHT "Warm" #define D_WEB "Web" // Web log #define D_WEB_SERVER "Web Server" -#define D_WIFI "Wifi" // sonoff.ino #define D_LEVEL_10 "level 1-0" @@ -227,10 +186,7 @@ #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_I2CSCAN_DEVICES_FOUND_AT "Device(s) found at" #define D_FOUND_AT "found at" -#define D_I2CSCAN_UNKNOWN_ERROR_AT "Unknown error at" -#define D_I2CSCAN_NO_DEVICES_FOUND "No devices found" #define D_SYSLOG_HOST_NOT_FOUND "Syslog Host not found" // settings.ino @@ -392,17 +348,6 @@ #define D_JSON_IRHVAC_TEMP "TEMP" #define D_JSON_IRRECEIVED "IrReceived" -// xdrv_04_snfbridge.ino -#define D_RFRECEIVED "RfReceived" -#define D_START_LEARNING "Start learning" -#define D_SET_TO_DEFAULT "Set to default" -#define D_DEFAULT_SENT "Default sent" -#define D_LEARNED_SENT "Learned sent" -#define D_LEARNING_ACTIVE "Learning active" -#define D_LEARN_FAILED "Learn failed" -#define D_LEARNED "Learned" -#define D_SAVED "Saved" - // xdrv_05_domoticz.ino #define D_DOMOTICZ_PARAMETERS "Domoticz parameters" #define D_DOMOTICZ_IDX "Idx" @@ -421,11 +366,6 @@ #define D_DOMOTICZ_UPDATE_TIMER "Update timer" // xsns_03_energy.ino -#define D_MAXPOWERREACHED "MaxPowerReached" -#define D_MAXPOWERREACHEDRETRY "MaxPowerReachedRetry" -#define D_POWERMONITOR "PowerMonitor" -#define D_ENERGYMONITOR "EnergyMonitor" -#define D_MAXENERGYREACHED "MaxEnergyReached" #define D_ENERGY_TODAY "Energy Today" #define D_ENERGY_YESTERDAY "Energy Yesterday" #define D_ENERGY_TOTAL "Energy Total" diff --git a/sonoff/language/it-IT.h b/sonoff/language/it-IT.h index 40e0a6f4a..24e76af5a 100644 --- a/sonoff/language/it-IT.h +++ b/sonoff/language/it-IT.h @@ -44,32 +44,24 @@ #define D_DECIMAL_SEPARATOR "." // Common -#define D_ABORTED "Aborted" -#define D_ACTIVE "Active" #define D_ADMIN "Admin" #define D_AIR_QUALITY "Qualita' dell'aria" #define D_AP "AP" // Access Point -#define D_APMAC_ADDRESS "APMac" -#define D_APPENDED "Appended" #define D_AS "come" #define D_AUTO "AUTO" -#define D_BAUDRATE "Baudrate" #define D_BLINK "Blink" #define D_BLINKOFF "BlinkOff" -#define D_BOOTVERSION "Boot" #define D_BOOT_COUNT "Boot Count" -#define D_BOOTCOUNT "BootCount" #define D_BRIGHTLIGHT "Luminoso" -#define D_BUILDDATETIME "BuildDateTime" #define D_BUTTON "Pulsante" #define D_BY "da" // Written by me +#define D_BYTES "Bytes" #define D_CELSIUS "Celsius" #define D_CO2 "CO2" #define D_CODE "codice" // Button code #define D_COLDLIGHT "Fredda" #define D_COMMAND "Command" #define D_CONNECTED "Connesso" -#define D_COREVERSION "Core" #define D_COUNT "Conteggio" #define D_COUNTER "Contatore" #define D_CURRENT "Corrente" // As in Voltage and Current @@ -78,36 +70,25 @@ #define D_DEBUG "Debug" #define D_DISABLED "Disabilitato" #define D_DNS_SERVER "DNS Server" -#define D_DNSSERVER "DNSServer" #define D_DONE "Fatto" #define D_DST_TIME "DST" -#define D_EMPTY "Empty" #define D_EMULATION "Emulazione" #define D_ENABLED "Abilitato" -#define D_ENDDST "EndDST" // End Daylight Savings Time #define D_ERASE "Erase" #define D_ERROR "Error" -#define D_EVERY "Ogni" #define D_FAHRENHEIT "Fahrenheit" #define D_FAILED "Fallito" #define D_FALLBACK "Fallback" #define D_FALLBACK_TOPIC "Topic Riserva" -#define D_FALLBACKTOPIC "FallbackTopic" #define D_FALSE "False" #define D_FILE "File" -#define D_FLASHMODE "FlashMode" -#define D_FLASHSIZE "FlashSize" #define D_FREE_MEMORY "Memoria Libera" -#define D_FREEMEMORY "Free" -#define D_FROM "from" #define D_GAS "Gas" #define D_GATEWAY "Gateway" #define D_GROUP "Gruppo" -#define D_HEAPSIZE "Heap" #define D_HOST "Host" #define D_HOSTNAME "Hostname" #define D_HUMIDITY "Umidita'" -#define D_ID "Id" #define D_ILLUMINANCE "Illuminazione" #define D_IMMEDIATE "immediato" // Button immediate #define D_INDEX "Index" @@ -115,15 +96,10 @@ #define D_INITIALIZED "Inizializzato" #define D_IP_ADDRESS "Indirizzo IP" #define D_LIGHT "Luce" -#define D_LIMIT "Limit" -#define D_LOCAL_TIME "Local" #define D_LWT "LWT" -#define D_MAC "Mac" -#define D_MASK "Mask" #define D_MODULE "Module" #define D_MQTT "MQTT" #define D_MULTI_PRESS "multi-pressione" -#define D_NO "No" #define D_NOISE "Rumore" #define D_NONE "Nessuno" #define D_OFF "Off" @@ -138,41 +114,26 @@ #define D_PRESSURE "Pressione" #define D_PRESSUREATSEALEVEL "Pressione al livello del mare" #define D_PROGRAM_FLASH_SIZE "Dimensione Flash Programma" -#define D_PROGRAMFLASHSIZE "ProgramFlashSize" #define D_PROGRAM_SIZE "Dimensione Programma" -#define D_PROGRAMSIZE "ProgramSize" #define D_PROJECT "Project" #define D_RECEIVED "Ricevuto" #define D_RESTART "Riavvio" #define D_RESTARTING "Restarting" #define D_RESTART_REASON "Causa Riavvio" -#define D_RESTARTREASON "RestartReason" #define D_RESTORE "ripristino" #define D_RETAINED "salvato" #define D_SAVE "Salva" -#define D_SAVEADDRESS "SaveAddress" -#define D_SAVECOUNT "SaveCount" -#define D_SAVESTATE "SaveState" -#define D_SDKVERSION "SDK" -#define D_SELECTED "selected" #define D_SENSOR "Sensore" #define D_SERIAL "Seriale" -#define D_BYTES "Bytes" #define D_SSID "SSId" #define D_START "Start" -#define D_STARTED "Started" -#define D_STARTDST "StartDST" // Start Daylight Savings Time #define D_STD_TIME "STD" #define D_STOP "Stop" #define D_SUBNET_MASK "Maschera sottorete" -#define D_SUBNETMASK "Subnetmask" #define D_SUBSCRIBE_TO "Sottoscrivi a" #define D_SUCCESSFUL "Successful" -#define D_SWITCH "Switch" #define D_SYS "Sys" // Sys log #define D_TEMPERATURE "Temperature" -#define D_TEMPERATURE_UNIT "TempUnit" -#define D_TIME "Time" #define D_TO "a" #define D_TOGGLE "Toggle" #define D_TOPIC "Topic" @@ -184,13 +145,11 @@ #define D_USER "Utente" #define D_UTC_TIME "UTC" #define D_UV_LEVEL "Livello UV" -#define D_VCC "Vcc" #define D_VERSION "Version" #define D_VOLTAGE "Tensione" #define D_WARMLIGHT "Calda" #define D_WEB "Web" // Web log #define D_WEB_SERVER "Web Server" -#define D_WIFI "Wifi" // sonoff.ino #define D_LEVEL_10 "level 1-0" @@ -227,10 +186,7 @@ #define D_CHECKING_CONNECTION "Controllo connessione..." #define D_QUERY_DONE "Query eseguita. Servizio MQTT trovato" #define D_MQTT_SERVICE_FOUND "Servizio MQTT trovato su" -#define D_I2CSCAN_DEVICES_FOUND_AT "Dispositivo/i trovato a" #define D_FOUND_AT "trovato a" -#define D_I2CSCAN_UNKNOWN_ERROR_AT "Errore sconosciuto a" -#define D_I2CSCAN_NO_DEVICES_FOUND "Nessun dispositivo trovato" #define D_SYSLOG_HOST_NOT_FOUND "Syslog Host non trovato" // settings.ino @@ -392,17 +348,6 @@ #define D_JSON_IRHVAC_TEMP "TEMP" #define D_JSON_IRRECEIVED "IrReceived" -// xdrv_04_snfbridge.ino -#define D_RFRECEIVED "RfReceived" -#define D_START_LEARNING "Avvio apprendimento" -#define D_SET_TO_DEFAULT "Imposta al default" -#define D_DEFAULT_SENT "Default inviato" -#define D_LEARNED_SENT "Apprendimento inviato" -#define D_LEARNING_ACTIVE "Apprendimento attivo" -#define D_LEARN_FAILED "Apprendimento fallito" -#define D_LEARNED "Appreso" -#define D_SAVED "Salvato" - // xdrv_05_domoticz.ino #define D_DOMOTICZ_PARAMETERS "Parametri Domoticz" #define D_DOMOTICZ_IDX "Idx" @@ -421,11 +366,6 @@ #define D_DOMOTICZ_UPDATE_TIMER "Intervallo di aggiornamento" // xsns_03_energy.ino -#define D_MAXPOWERREACHED "MaxPowerReached" -#define D_MAXPOWERREACHEDRETRY "MaxPowerReachedRetry" -#define D_POWERMONITOR "PowerMonitor" -#define D_ENERGYMONITOR "EnergyMonitor" -#define D_MAXENERGYREACHED "MaxEnergyReached" #define D_ENERGY_TODAY "Energia Oggi" #define D_ENERGY_YESTERDAY "Energia Ieri" #define D_ENERGY_TOTAL "Energia Totale" diff --git a/sonoff/language/nl-NL.h b/sonoff/language/nl-NL.h index 7fd308853..822120162 100644 --- a/sonoff/language/nl-NL.h +++ b/sonoff/language/nl-NL.h @@ -44,32 +44,24 @@ #define D_DECIMAL_SEPARATOR "," // Common -#define D_ABORTED "Afgebroken" -#define D_ACTIVE "Actief" #define D_ADMIN "Admin" #define D_AIR_QUALITY "Lucht kwalitiet" #define D_AP "AP" // Access Point -#define D_APMAC_ADDRESS "APMac" -#define D_APPENDED "Aangevuld" #define D_AS "als" #define D_AUTO "AUTO" -#define D_BAUDRATE "Baudrate" #define D_BLINK "Knipper" #define D_BLINKOFF "KnipperUit" -#define D_BOOTVERSION "Boot" #define D_BOOT_COUNT "Herstarts" -#define D_BOOTCOUNT "Herstarts" #define D_BRIGHTLIGHT "Fel" -#define D_BUILDDATETIME "BuildDateTime" #define D_BUTTON "DrukKnop" #define D_BY "door" // Written by me +#define D_BYTES "Bytes" #define D_CELSIUS "Celsius" #define D_CO2 "Koolstofdioxide" #define D_CODE "code" // Button code #define D_COLDLIGHT "Koud" #define D_COMMAND "Opdracht" #define D_CONNECTED "Verbonden" -#define D_COREVERSION "Core" #define D_COUNT "Aantal" #define D_COUNTER "Teller" #define D_CURRENT "Stroom" // As in Voltage and Current @@ -78,36 +70,25 @@ #define D_DEBUG "Debug" #define D_DISABLED "Uitgeschakeld" #define D_DNS_SERVER "DNS Server" -#define D_DNSSERVER "DNSServer" #define D_DONE "Klaar" #define D_DST_TIME "ZT" -#define D_EMPTY "Leeg" #define D_EMULATION "Emulatie" #define D_ENABLED "Geactiveerd" -#define D_ENDDST "WinterTijd" // End Daylight Savings Time #define D_ERASE "Wissen" #define D_ERROR "Fout" -#define D_EVERY "Iedere" #define D_FAHRENHEIT "Fahrenheit" #define D_FAILED "Mislukt" #define D_FALLBACK "Fallback" #define D_FALLBACK_TOPIC "Fallback Topic" -#define D_FALLBACKTOPIC "FallbackTopic" #define D_FALSE "Onwaar" #define D_FILE "Bestand" -#define D_FLASHMODE "FlashStand" -#define D_FLASHSIZE "FlashGrootte" #define D_FREE_MEMORY "Vrij geheugen" -#define D_FREEMEMORY "Vrij" -#define D_FROM "van" #define D_GAS "Gas" #define D_GATEWAY "Gateway" #define D_GROUP "Groep" -#define D_HEAPSIZE "Heap" #define D_HOST "Host" #define D_HOSTNAME "Hostnaam" #define D_HUMIDITY "Luchtvochtigheid" -#define D_ID "Id" #define D_ILLUMINANCE "Verlichtingssterkte" #define D_IMMEDIATE "onmiddelijk" // Button immediate #define D_INDEX "Index" @@ -115,15 +96,10 @@ #define D_INITIALIZED "Geinitialiseerd" #define D_IP_ADDRESS "IP Adres" #define D_LIGHT "Licht" -#define D_LIMIT "Grenswaarde" -#define D_LOCAL_TIME "Plaatselijk" #define D_LWT "LWT" -#define D_MAC "Mac" -#define D_MASK "Masker" #define D_MODULE "Module" #define D_MQTT "MQTT" #define D_MULTI_PRESS "meervoudig" -#define D_NO "Nee" #define D_NOISE "Lawaai" #define D_NONE "Geen" #define D_OFF "Uit" @@ -138,41 +114,26 @@ #define D_PRESSURE "Luchtdruk" #define D_PRESSUREATSEALEVEL "ZeeLuchtdruk" #define D_PROGRAM_FLASH_SIZE "Programma Flash Grootte" -#define D_PROGRAMFLASHSIZE "ProgrammaFlashGrootte" #define D_PROGRAM_SIZE "Programma Grootte" -#define D_PROGRAMSIZE "ProgrammaGrootte" #define D_PROJECT "Project" #define D_RECEIVED "Ontvangen" #define D_RESTART "Herstart" #define D_RESTARTING "Herstarten" #define D_RESTART_REASON "Reden herstart" -#define D_RESTARTREASON "RedenHerstart" #define D_RESTORE "herstellen" #define D_RETAINED "retained" #define D_SAVE "Opslaan" -#define D_SAVEADDRESS "OpslagAdres" -#define D_SAVECOUNT "AantalOpslagen" -#define D_SAVESTATE "OpslagToestand" -#define D_SDKVERSION "SDK" -#define D_SELECTED "gekozen" #define D_SENSOR "Sensor" #define D_SERIAL "Serieel" -#define D_BYTES "Bytes" #define D_SSID "SSId" #define D_START "Start" -#define D_STARTED "Gestart" -#define D_STARTDST "Zomertijd" // Start Daylight Savings Time #define D_STD_TIME "WT" #define D_STOP "Stop" #define D_SUBNET_MASK "Subnet Masker" -#define D_SUBNETMASK "Subnetmasker" #define D_SUBSCRIBE_TO "Abonneer op" #define D_SUCCESSFUL "Gelukt" -#define D_SWITCH "Schakelaar" #define D_SYS "Sys" // Sys log #define D_TEMPERATURE "Temperatuur" -#define D_TEMPERATURE_UNIT "TempEenheid" -#define D_TIME "Tijd" #define D_TO "naar" #define D_TOGGLE "Toggle" // Wissel, Tuimel #define D_TOPIC "Topic" // Onderwerp @@ -184,13 +145,11 @@ #define D_USER "Gebruiker" #define D_UTC_TIME "UTC" #define D_UV_LEVEL "UV niveau" -#define D_VCC "Vcc" #define D_VERSION "Versie" #define D_VOLTAGE "Spanning" #define D_WARMLIGHT "Warm" #define D_WEB "Web" // Web log #define D_WEB_SERVER "Webserver" -#define D_WIFI "Wifi" // sonoff.ino #define D_LEVEL_10 "niveau 1-0" @@ -227,10 +186,7 @@ #define D_CHECKING_CONNECTION "Controleer verbinding..." #define D_QUERY_DONE "Aanvraag klaar. Aantal MQTT diensten gevonden" #define D_MQTT_SERVICE_FOUND "MQTT dienst gevonden op" -#define D_I2CSCAN_DEVICES_FOUND_AT "Apparaten gevonden op" #define D_FOUND_AT "gevonden op" -#define D_I2CSCAN_UNKNOWN_ERROR_AT "Onbekende fout op" -#define D_I2CSCAN_NO_DEVICES_FOUND "Geen apparaten gevonden" #define D_SYSLOG_HOST_NOT_FOUND "Syslog Host niet gevonden" // settings.ino @@ -392,17 +348,6 @@ #define D_JSON_IRHVAC_TEMP "TEMP" #define D_JSON_IRRECEIVED "IrReceived" -// xdrv_04_snfbridge.ino -#define D_RFRECEIVED "RfReceived" -#define D_START_LEARNING "Start leren" -#define D_SET_TO_DEFAULT "Zet standaard waarden" -#define D_DEFAULT_SENT "Standaard verzonden" -#define D_LEARNED_SENT "Geleerde verzonden" -#define D_LEARNING_ACTIVE "Leren actief" -#define D_LEARN_FAILED "Leren mislukt" -#define D_LEARNED "Geleerd" -#define D_SAVED "Opgeslagen" - // xdrv_05_domoticz.ino #define D_DOMOTICZ_PARAMETERS "Domoticz parameters" #define D_DOMOTICZ_IDX "Idx" @@ -421,11 +366,6 @@ #define D_DOMOTICZ_UPDATE_TIMER "Bijwerk timer" // xsns_03_energy.ino -#define D_MAXPOWERREACHED "MaxPowerReached" -#define D_MAXPOWERREACHEDRETRY "MaxPowerReachedRetry" -#define D_POWERMONITOR "PowerMonitor" -#define D_ENERGYMONITOR "EnergyMonitor" -#define D_MAXENERGYREACHED "MaxEnergyReached" #define D_ENERGY_TODAY "Verbruik vandaag" #define D_ENERGY_YESTERDAY "Verbruik gisteren" #define D_ENERGY_TOTAL "Verbruik totaal" diff --git a/sonoff/language/pl-PL.h b/sonoff/language/pl-PL.h index a1d115a1d..d349ae06a 100644 --- a/sonoff/language/pl-PL.h +++ b/sonoff/language/pl-PL.h @@ -44,32 +44,24 @@ #define D_DECIMAL_SEPARATOR "," // Common -#define D_ABORTED "Anulowany" -#define D_ACTIVE "Aktywny" #define D_ADMIN "Admin" #define D_AIR_QUALITY "Jakosc powietrza" #define D_AP "AP" // Access Point -#define D_APMAC_ADDRESS "APMac" -#define D_APPENDED "Dolaczony" #define D_AS "jak" #define D_AUTO "AUTO" -#define D_BAUDRATE "Szybkosc transmisji" #define D_BLINK "Miganie" #define D_BLINKOFF "MiganieWyl" -#define D_BOOTVERSION "Uruchomienie" #define D_BOOT_COUNT "Licznik uruchomienia" -#define D_BOOTCOUNT "LiczUruchomienia" #define D_BRIGHTLIGHT "Jasny" -#define D_BUILDDATETIME "ZbudowanoDataCzas" #define D_BUTTON "Przycisk" #define D_BY "by" // Written by me +#define D_BYTES "Bajtow" #define D_CELSIUS "Celsiusza" #define D_CO2 "Dwutlenku węgla" #define D_CODE "kod" // Button code #define D_COLDLIGHT "Zimny" #define D_COMMAND "Komenda" #define D_CONNECTED "Polaczony" -#define D_COREVERSION "Wersja" #define D_COUNT "Licz" #define D_COUNTER "Licznik" #define D_CURRENT "Biezacy" // As in Voltage and Current @@ -78,36 +70,25 @@ #define D_DEBUG "Debug" #define D_DISABLED "Zablokowany" #define D_DNS_SERVER "Server DNS" -#define D_DNSSERVER "ServerDNS" #define D_DONE "Wykonane" #define D_DST_TIME "DST" -#define D_EMPTY "Pusty" #define D_EMULATION "Emulacja" #define D_ENABLED "Otwarty" -#define D_ENDDST "KoniecDST" // End Daylight Savings Time #define D_ERASE "Nadpisz" #define D_ERROR "Blad" -#define D_EVERY "Kazdy" #define D_FAHRENHEIT "Fahrenheita" #define D_FAILED "Bledny" #define D_FALLBACK "Awaryjny" #define D_FALLBACK_TOPIC "Zastepczy temat" -#define D_FALLBACKTOPIC "ZastepczyTemat" #define D_FALSE "Falsz" #define D_FILE "Plik" -#define D_FLASHMODE "FlashMode" -#define D_FLASHSIZE "FlashWielkosc" #define D_FREE_MEMORY "Wolna pamiec" -#define D_FREEMEMORY "Wolne" -#define D_FROM "z" #define D_GAS "Gas" #define D_GATEWAY "Brama" #define D_GROUP "Grupa" -#define D_HEAPSIZE "Stos" #define D_HOST "Serwer" #define D_HOSTNAME "Nazwa serwera" #define D_HUMIDITY "Wilgotnosc" -#define D_ID "ID" #define D_ILLUMINANCE "Oswietlenie" #define D_IMMEDIATE "Natychmiastowe" // Button immediate #define D_INDEX "Indeks" @@ -115,15 +96,10 @@ #define D_INITIALIZED "Zainicjowany" #define D_IP_ADDRESS "Adres IP" #define D_LIGHT "Swiatlo" -#define D_LIMIT "Wartość graniczna" -#define D_LOCAL_TIME "Lokalny" #define D_LWT "LWT" -#define D_MAC "Mac" -#define D_MASK "Maska" #define D_MODULE "Modul" #define D_MQTT "MQTT" #define D_MULTI_PRESS "wielokrotne-nacisniecie" -#define D_NO "Nie" #define D_NOISE "Halas" #define D_NONE "Brak" #define D_OFF "Wylaczony" @@ -138,41 +114,26 @@ #define D_PRESSURE "Cisnienie" #define D_PRESSUREATSEALEVEL "Cisnienie na poziomie morza" #define D_PROGRAM_FLASH_SIZE "Wielkosc programu flash" -#define D_PROGRAMFLASHSIZE "ProgramFlashSize" #define D_PROGRAM_SIZE "Wielkosc programu" -#define D_PROGRAMSIZE "ProgramSize" #define D_PROJECT "Projekt" #define D_RECEIVED "Otrzymany" #define D_RESTART "Restart" #define D_RESTARTING "Restartowanie" #define D_RESTART_REASON "Przyczyna restartu" -#define D_RESTARTREASON "PrzyczynaRestartu" #define D_RESTORE "Przywracanie" #define D_RETAINED "Zachowane" #define D_SAVE "Zapisz" -#define D_SAVEADDRESS "AdresZapisu" -#define D_SAVECOUNT "LicznikZapisu" -#define D_SAVESTATE "StanZapisu" -#define D_SDKVERSION "SDK" -#define D_SELECTED "Wybrany" #define D_SENSOR "Czujnik" #define D_SERIAL "Serial" -#define D_BYTES "Bajtow" #define D_SSID "SSID" #define D_START "Start" -#define D_STARTED "Uruchomiony" -#define D_STARTDST "StartDST" // Start Daylight Savings Time #define D_STD_TIME "STD" #define D_STOP "Stop" #define D_SUBNET_MASK "Maska podsieci" -#define D_SUBNETMASK "MaskaPodsieci" #define D_SUBSCRIBE_TO "Subskrybuj do" #define D_SUCCESSFUL "Powodzenie" -#define D_SWITCH "Przelacznik" #define D_SYS "System " // Sys log #define D_TEMPERATURE "Temperatura" -#define D_TEMPERATURE_UNIT "JednTemp" -#define D_TIME "Czas" #define D_TO "do" #define D_TOGGLE "Przelacz" #define D_TOPIC "Temat" @@ -184,13 +145,11 @@ #define D_USER "Uzytkownik" #define D_UTC_TIME "UTC" #define D_UV_LEVEL "Poziom UV" -#define D_VCC "VCC" #define D_VERSION "Wersja" #define D_VOLTAGE "Napiecie" #define D_WARMLIGHT "Nagrzanie" #define D_WEB "Web" // Web log #define D_WEB_SERVER "Web Server" -#define D_WIFI "Wifi" // sonoff.ino #define D_LEVEL_10 "poziom 1-0" @@ -227,10 +186,7 @@ #define D_CHECKING_CONNECTION "Sprawdzanie polaczenia..." #define D_QUERY_DONE "Wykonano zapytanie. Znaleziono uslugi MQTT" #define D_MQTT_SERVICE_FOUND "Usluga MQTT została znaleziona" -#define D_I2CSCAN_DEVICES_FOUND_AT "Znaleziono urządzenie(a) na" #define D_FOUND_AT "znalezione w" -#define D_I2CSCAN_UNKNOWN_ERROR_AT "Nieznany blad w" -#define D_I2CSCAN_NO_DEVICES_FOUND "Nie znaleziono urzadzen" #define D_SYSLOG_HOST_NOT_FOUND "Syslog Host nie znaleziony" // settings.ino @@ -392,17 +348,6 @@ #define D_JSON_IRHVAC_TEMP "TEMP" #define D_JSON_IRRECEIVED "IrReceived" -// xdrv_04_snfbridge.ino -#define D_RFRECEIVED "RfReceived" -#define D_START_LEARNING "Zacznij nauke" -#define D_SET_TO_DEFAULT "Ustaw domyslne" -#define D_DEFAULT_SENT "Domyslne wyslane" -#define D_LEARNED_SENT "Wyuczone wyslane" -#define D_LEARNING_ACTIVE "Wyuczone aktywne" -#define D_LEARN_FAILED "Uczenie niepowodzenie" -#define D_LEARNED "Wyuczone" -#define D_SAVED "Zapisane" - // xdrv_05_domoticz.ino #define D_DOMOTICZ_PARAMETERS "Parametry Domoticz" #define D_DOMOTICZ_IDX "Idx" @@ -421,11 +366,6 @@ #define D_DOMOTICZ_UPDATE_TIMER "Zaktualizuj czasomierz" // xsns_03_energy.ino -#define D_MAXPOWERREACHED "MaksMocOsiagnieta" -#define D_MAXPOWERREACHEDRETRY "MaksMocOsiagnietaPonowienie" -#define D_POWERMONITOR "MonitorMocy" -#define D_ENERGYMONITOR "MonitorEnergii" -#define D_MAXENERGYREACHED "MaksEnergiaOsiagnieta" #define D_ENERGY_TODAY "Energia Dzisiaj" #define D_ENERGY_YESTERDAY "Energia Wczoraj" #define D_ENERGY_TOTAL "Energia suma" diff --git a/sonoff/sonoff.ino b/sonoff/sonoff.ino index ea521309e..88c2f7be9 100644 --- a/sonoff/sonoff.ino +++ b/sonoff/sonoff.ino @@ -25,8 +25,8 @@ - Select IDE Tools - Flash Size: "1M (no SPIFFS)" ====================================================*/ -#define VERSION 0x050A0009 -#define VERSION_STRING "5.10.0i" // Would be great to have a macro that fills this from VERSION ... +#define VERSION 0x050A000A +#define VERSION_STRING "5.10.0j" // Would be great to have a macro that fills this from VERSION ... // Location specific includes #include "sonoff.h" // Enumaration used in user_config.h @@ -436,7 +436,7 @@ void MqttPublishPowerBlinkState(byte device) if ((device < 1) || (device > devices_present)) { device = 1; } - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"%s\":\"" D_BLINK " %s\"}"), + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"%s\":\"" D_JSON_BLINK " %s\"}"), GetPowerDevice(scommand, device, sizeof(scommand)), GetStateText(bitRead(blink_mask, device -1))); MqttPublishPrefixTopic_P(5, S_RSLT_POWER); @@ -467,17 +467,17 @@ void MqttConnected() } if (mqtt_connection_flag) { - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_MODULE "\":\"%s\",\"" D_VERSION "\":\"" VERSION_STRING "\",\"" D_FALLBACKTOPIC "\":\"%s\",\"" D_CMND_GROUPTOPIC "\":\"%s\"}"), + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_MODULE "\":\"%s\",\"" D_JSON_VERSION "\":\"" VERSION_STRING "\",\"" D_JSON_FALLBACKTOPIC "\":\"%s\",\"" D_CMND_GROUPTOPIC "\":\"%s\"}"), my_module.name, mqtt_client, Settings.mqtt_grptopic); MqttPublishPrefixTopic_P(2, PSTR(D_RSLT_INFO "1")); #ifdef USE_WEBSERVER if (Settings.webserver) { - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_WEBSERVER_MODE "\":\"%s\",\"" D_CMND_HOSTNAME "\":\"%s\",\"" D_CMND_IPADDRESS "\":\"%s\"}"), + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_JSON_WEBSERVER_MODE "\":\"%s\",\"" D_CMND_HOSTNAME "\":\"%s\",\"" D_CMND_IPADDRESS "\":\"%s\"}"), (2 == Settings.webserver) ? D_ADMIN : D_USER, my_hostname, WiFi.localIP().toString().c_str()); MqttPublishPrefixTopic_P(2, PSTR(D_RSLT_INFO "2")); } #endif // USE_WEBSERVER - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_RESTARTREASON "\":\"%s\"}"), + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_JSON_RESTARTREASON "\":\"%s\"}"), (GetResetReason() == "Exception") ? ESP.getResetInfo().c_str() : GetResetReason().c_str()); MqttPublishPrefixTopic_P(2, PSTR(D_RSLT_INFO "3")); if (Settings.tele_period) { @@ -531,7 +531,6 @@ void MqttReconnect() #ifndef USE_MQTT_TLS #ifdef USE_DISCOVERY #ifdef MQTT_HOST_DISCOVERY -// if (!strlen(MQTT_HOST)) { if (!strlen(Settings.mqtt_host)) { MdnsDiscoverMqttServer(); } @@ -838,7 +837,7 @@ void MqttDataCallback(char* topic, byte* data, unsigned int data_len) AddLog(LOG_LEVEL_DEBUG); if (type != NULL) { - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_COMMAND "\":\"" D_ERROR "\"}")); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_JSON_COMMAND "\":\"" D_JSON_ERROR "\"}")); if (Settings.ledstate &0x02) { blinks++; } @@ -889,11 +888,11 @@ void MqttDataCallback(char* topic, byte* data, unsigned int data_len) backlog_index &= 0xF; blcommand = strtok(NULL, ";"); } - snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_SVALUE, command, D_APPENDED); + snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_SVALUE, command, D_JSON_APPENDED); } else { uint8_t blflag = (backlog_pointer == backlog_index); backlog_pointer = backlog_index; - snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_SVALUE, command, blflag ? D_EMPTY : D_ABORTED); + snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_SVALUE, command, blflag ? D_JSON_EMPTY : D_JSON_ABORTED); } } else if (CMND_DELAY == command_code) { @@ -960,9 +959,6 @@ void MqttDataCallback(char* topic, byte* data, unsigned int data_len) } snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_NVALUE, command, Settings.blinkcount); } -// else if (light_type && LightCommand(type, index, dataBuf, data_len, payload)) { - // Serviced -// } else if (CMND_SAVEDATA == command_code) { if ((payload >= 0) && (payload <= 3600)) { Settings.save_data = payload; @@ -970,7 +966,7 @@ void MqttDataCallback(char* topic, byte* data, unsigned int data_len) } SettingsSaveAll(); if (Settings.save_data > 1) { - snprintf_P(stemp1, sizeof(stemp1), PSTR(D_EVERY " %d " D_UNIT_SECOND), Settings.save_data); + snprintf_P(stemp1, sizeof(stemp1), PSTR(D_JSON_EVERY " %d " D_UNIT_SECOND), Settings.save_data); } snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_SVALUE, command, (Settings.save_data > 1) ? stemp1 : GetStateText(Settings.save_data)); } @@ -1132,7 +1128,7 @@ void MqttDataCallback(char* topic, byte* data, unsigned int data_len) if (jsflg) { snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s}"), mqtt_data); } else { - snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_SVALUE, command, D_NOT_SUPPORTED); + snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_SVALUE, command, D_JSON_NOT_SUPPORTED); } } else if (CMND_GPIOS == command_code) { @@ -1226,9 +1222,9 @@ void MqttDataCallback(char* topic, byte* data, unsigned int data_len) // We also need at least 3 chars to make a valid version number string. if (((1 == data_len) && (1 == payload)) || ((data_len >= 3) && NewerVersion(dataBuf))) { ota_state_flag = 3; - snprintf_P(mqtt_data, sizeof(mqtt_data), "{\"%s\":\"" D_VERSION " " VERSION_STRING " " D_FROM " %s\"}", command, Settings.ota_url); + snprintf_P(mqtt_data, sizeof(mqtt_data), "{\"%s\":\"" D_JSON_VERSION " " VERSION_STRING " " D_JSON_FROM " %s\"}", command, Settings.ota_url); } else { - snprintf_P(mqtt_data, sizeof(mqtt_data), "{\"%s\":\"" D_ONE_OR_GT "\"}", command, VERSION_STRING); + snprintf_P(mqtt_data, sizeof(mqtt_data), "{\"%s\":\"" D_JSON_ONE_OR_GT "\"}", command, VERSION_STRING); } } else if (CMND_OTAURL == command_code) { @@ -1329,7 +1325,7 @@ void MqttDataCallback(char* topic, byte* data, unsigned int data_len) Settings.sta_config = payload; wifi_state_flag = Settings.sta_config; snprintf_P(stemp1, sizeof(stemp1), kWifiConfig[Settings.sta_config]); - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_WIFICONFIG "\":\"%s " D_SELECTED "\"}"), stemp1); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_WIFICONFIG "\":\"%s " D_JSON_SELECTED "\"}"), stemp1); if (WifiState() != WIFI_RESTART) { // snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s after restart"), mqtt_data); restart_flag = 2; @@ -1362,7 +1358,7 @@ void MqttDataCallback(char* topic, byte* data, unsigned int data_len) Settings.webserver = payload; } if (Settings.webserver) { - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_WEBSERVER "\":\"" D_ACTIVE_FOR " %s " D_ON_DEVICE " %s " D_WITH_IP_ADDRESS " %s\"}"), + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_WEBSERVER "\":\"" D_JSON_ACTIVE_FOR " %s " D_JSON_ON_DEVICE " %s " D_JSON_WITH_IP_ADDRESS " %s\"}"), (2 == Settings.webserver) ? D_ADMIN : D_USER, my_hostname, WiFi.localIP().toString().c_str()); } else { snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_SVALUE, command, GetStateText(0)); @@ -1404,28 +1400,28 @@ void MqttDataCallback(char* topic, byte* data, unsigned int data_len) switch (payload) { case 1: restart_flag = 2; - snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_SVALUE, command, D_RESTARTING); + snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_SVALUE, command, D_JSON_RESTARTING); break; case 99: AddLog_P(LOG_LEVEL_INFO, PSTR(D_LOG_APPLICATION D_RESTARTING)); ESP.restart(); break; default: - snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_SVALUE, command, D_ONE_TO_RESTART); + snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_SVALUE, command, D_JSON_ONE_TO_RESTART); } } else if (CMND_RESET == command_code) { switch (payload) { case 1: restart_flag = 211; - snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_SVALUE, command , D_RESET_AND_RESTARTING); + snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_SVALUE, command , D_JSON_RESET_AND_RESTARTING); break; case 2: restart_flag = 212; - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_RESET "\":\"" D_ERASE ", " D_RESET_AND_RESTARTING "\"}")); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_RESET "\":\"" D_JSON_ERASE ", " D_JSON_RESET_AND_RESTARTING "\"}")); break; default: - snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_SVALUE, command, D_ONE_TO_RESET); + snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_SVALUE, command, D_JSON_ONE_TO_RESET); } } else if (CMND_TIMEZONE == command_code) { @@ -1504,8 +1500,8 @@ void MqttDataCallback(char* topic, byte* data, unsigned int data_len) } if (type == NULL) { blinks = 201; - snprintf_P(topicBuf, sizeof(topicBuf), PSTR(D_COMMAND)); - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_COMMAND "\":\"" D_JSON_UNKNOWN "\"}")); + snprintf_P(topicBuf, sizeof(topicBuf), PSTR(D_JSON_COMMAND)); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_JSON_COMMAND "\":\"" D_JSON_UNKNOWN "\"}")); type = (char*)topicBuf; } if (mqtt_data[0] != '\0') { @@ -1691,20 +1687,20 @@ void PublishStatus(uint8_t payload) } if ((0 == payload) || (99 == payload)) { - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_STATUS "\":{\"" D_CMND_MODULE "\":%d,\"" D_CMND_FRIENDLYNAME "\":\"%s\",\"" D_CMND_TOPIC "\":\"%s\",\"" D_CMND_BUTTONTOPIC "\":\"%s\",\"" D_CMND_POWER "\":%d,\"" D_CMND_POWERONSTATE "\":%d,\"" D_CMND_LEDSTATE "\":%d,\"" D_CMND_SAVEDATA "\":%d,\"" D_SAVESTATE "\":%d,\"" D_CMND_BUTTONRETAIN "\":%d,\"" D_CMND_POWERRETAIN "\":%d}}"), + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_STATUS "\":{\"" D_CMND_MODULE "\":%d,\"" D_CMND_FRIENDLYNAME "\":\"%s\",\"" D_CMND_TOPIC "\":\"%s\",\"" D_CMND_BUTTONTOPIC "\":\"%s\",\"" D_CMND_POWER "\":%d,\"" D_CMND_POWERONSTATE "\":%d,\"" D_CMND_LEDSTATE "\":%d,\"" D_CMND_SAVEDATA "\":%d,\"" D_JSON_SAVESTATE "\":%d,\"" D_CMND_BUTTONRETAIN "\":%d,\"" D_CMND_POWERRETAIN "\":%d}}"), Settings.module +1, Settings.friendlyname[0], Settings.mqtt_topic, Settings.button_topic, power, Settings.poweronstate, Settings.ledstate, Settings.save_data, Settings.flag.save_state, Settings.flag.mqtt_button_retain, Settings.flag.mqtt_power_retain); MqttPublishPrefixTopic_P(option, PSTR(D_CMND_STATUS)); } if ((0 == payload) || (1 == payload)) { - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_STATUS D_STATUS1_PARAMETER "\":{\"" D_BAUDRATE "\":%d,\"" D_CMND_GROUPTOPIC "\":\"%s\",\"" D_CMND_OTAURL "\":\"%s\",\"" D_UPTIME "\":%d,\"" D_CMND_SLEEP "\":%d,\"" D_BOOTCOUNT "\":%d,\"" D_SAVECOUNT "\":%d,\"" D_SAVEADDRESS "\":\"%X\"}}"), + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_STATUS D_STATUS1_PARAMETER "\":{\"" D_JSON_BAUDRATE "\":%d,\"" D_CMND_GROUPTOPIC "\":\"%s\",\"" D_CMND_OTAURL "\":\"%s\",\"" D_JSON_UPTIME "\":%d,\"" D_CMND_SLEEP "\":%d,\"" D_JSON_BOOTCOUNT "\":%d,\"" D_JSON_SAVECOUNT "\":%d,\"" D_JSON_SAVEADDRESS "\":\"%X\"}}"), baudrate, Settings.mqtt_grptopic, Settings.ota_url, uptime, Settings.sleep, Settings.bootcount, Settings.save_flag, GetSettingsAddress()); MqttPublishPrefixTopic_P(option, PSTR(D_CMND_STATUS "1")); } if ((0 == payload) || (2 == payload)) { - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_STATUS D_STATUS2_FIRMWARE "\":{\"" D_VERSION "\":\"" VERSION_STRING "\",\"" D_BUILDDATETIME "\":\"%s\",\"" D_BOOTVERSION "\":%d,\"" D_COREVERSION "\":\"%s\",\"" D_SDKVERSION "\":\"%s\"}}"), - GetBuildDateAndTime().c_str(), ESP.getBootVersion(), ESP.getCoreVersion().c_str(), ESP.getSdkVersion()); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_STATUS D_STATUS2_FIRMWARE "\":{\"" D_JSON_VERSION "\":\"" VERSION_STRING "\",\"" D_JSON_BUILDDATETIME "\":\"%s\",\"" D_JSON_BOOTVERSION "\":%d,\"" D_JSON_COREVERSION "\":\"" ARDUINO_ESP8266_RELEASE "\",\"" D_JSON_SDKVERSION "\":\"%s\"}}"), + GetBuildDateAndTime().c_str(), ESP.getBootVersion(), ESP.getSdkVersion()); MqttPublishPrefixTopic_P(option, PSTR(D_CMND_STATUS "2")); } @@ -1715,26 +1711,26 @@ void PublishStatus(uint8_t payload) } if ((0 == payload) || (4 == payload)) { - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_STATUS D_STATUS4_MEMORY "\":{\"" D_PROGRAMSIZE "\":%d,\"" D_FREEMEMORY "\":%d,\"" D_HEAPSIZE "\":%d,\"" D_PROGRAMFLASHSIZE "\":%d,\"" D_FLASHSIZE "\":%d,\"" D_FLASHMODE "\":%d}}"), + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_STATUS D_STATUS4_MEMORY "\":{\"" D_JSON_PROGRAMSIZE "\":%d,\"" D_JSON_FREEMEMORY "\":%d,\"" D_JSON_HEAPSIZE "\":%d,\"" D_JSON_PROGRAMFLASHSIZE "\":%d,\"" D_JSON_FLASHSIZE "\":%d,\"" D_JSON_FLASHMODE "\":%d}}"), ESP.getSketchSize()/1024, ESP.getFreeSketchSpace()/1024, ESP.getFreeHeap()/1024, ESP.getFlashChipSize()/1024, ESP.getFlashChipRealSize()/1024, ESP.getFlashChipMode()); MqttPublishPrefixTopic_P(option, PSTR(D_CMND_STATUS "4")); } if ((0 == payload) || (5 == payload)) { - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_STATUS D_STATUS5_NETWORK "\":{\"" D_CMND_HOSTNAME "\":\"%s\",\"" D_CMND_IPADDRESS "\":\"%s\",\"" D_GATEWAY "\":\"%s\",\"" D_SUBNETMASK "\":\"%s\",\"" D_DNSSERVER "\":\"%s\",\"" D_MAC "\":\"%s\",\"" D_CMND_WEBSERVER "\":%d,\"" D_CMND_WIFICONFIG "\":%d}}"), + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_STATUS D_STATUS5_NETWORK "\":{\"" D_CMND_HOSTNAME "\":\"%s\",\"" D_CMND_IPADDRESS "\":\"%s\",\"" D_JSON_GATEWAY "\":\"%s\",\"" D_JSON_SUBNETMASK "\":\"%s\",\"" D_JSON_DNSSERVER "\":\"%s\",\"" D_JSON_MAC "\":\"%s\",\"" D_CMND_WEBSERVER "\":%d,\"" D_CMND_WIFICONFIG "\":%d}}"), my_hostname, WiFi.localIP().toString().c_str(), IPAddress(Settings.ip_address[1]).toString().c_str(), IPAddress(Settings.ip_address[2]).toString().c_str(), IPAddress(Settings.ip_address[3]).toString().c_str(), WiFi.macAddress().c_str(), Settings.webserver, Settings.sta_config); MqttPublishPrefixTopic_P(option, PSTR(D_CMND_STATUS "5")); } if (((0 == payload) || (6 == payload)) && Settings.flag.mqtt_enabled) { - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_STATUS D_STATUS6_MQTT "\":{\"" D_CMND_MQTTHOST "\":\"%s\",\"" D_CMND_MQTTPORT "\":%d,\"" D_CMND_MQTTCLIENT D_MASK "\":\"%s\",\"" D_CMND_MQTTCLIENT "\":\"%s\",\"" D_CMND_MQTTUSER "\":\"%s\",\"MAX_PACKET_SIZE\":%d,\"KEEPALIVE\":%d}}"), + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_STATUS D_STATUS6_MQTT "\":{\"" D_CMND_MQTTHOST "\":\"%s\",\"" D_CMND_MQTTPORT "\":%d,\"" D_CMND_MQTTCLIENT D_JSON_MASK "\":\"%s\",\"" D_CMND_MQTTCLIENT "\":\"%s\",\"" D_CMND_MQTTUSER "\":\"%s\",\"MAX_PACKET_SIZE\":%d,\"KEEPALIVE\":%d}}"), Settings.mqtt_host, Settings.mqtt_port, Settings.mqtt_client, mqtt_client, Settings.mqtt_user, MQTT_MAX_PACKET_SIZE, MQTT_KEEPALIVE); MqttPublishPrefixTopic_P(option, PSTR(D_CMND_STATUS "6")); } if ((0 == payload) || (7 == payload)) { - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_STATUS D_STATUS7_TIME "\":{\"" D_UTC_TIME "\":\"%s\",\"" D_LOCAL_TIME "\":\"%s\",\"" D_STARTDST "\":\"%s\",\"" D_ENDDST "\":\"%s\",\"" D_CMND_TIMEZONE "\":%d}}"), + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_STATUS D_STATUS7_TIME "\":{\"" D_JSON_UTC_TIME "\":\"%s\",\"" D_JSON_LOCAL_TIME "\":\"%s\",\"" D_JSON_STARTDST "\":\"%s\",\"" D_JSON_ENDDST "\":\"%s\",\"" D_CMND_TIMEZONE "\":%d}}"), GetTime(0).c_str(), GetTime(1).c_str(), GetTime(2).c_str(), GetTime(3).c_str(), Settings.timezone); MqttPublishPrefixTopic_P(option, PSTR(D_CMND_STATUS "7")); } @@ -1771,32 +1767,32 @@ void MqttShowState() { char stemp1[16]; - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s{\"" D_TIME "\":\"%s\",\"" D_UPTIME "\":%d"), mqtt_data, GetDateAndTime().c_str(), uptime); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s{\"" D_JSON_TIME "\":\"%s\",\"" D_JSON_UPTIME "\":%d"), mqtt_data, GetDateAndTime().c_str(), uptime); #ifdef USE_ADC_VCC dtostrfd((double)ESP.getVcc()/1000, 3, stemp1); - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s,\"" D_VCC "\":%s"), mqtt_data, stemp1); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s,\"" D_JSON_VCC "\":%s"), mqtt_data, stemp1); #endif for (byte i = 0; i < devices_present; i++) { snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s,\"%s\":\"%s\""), mqtt_data, GetPowerDevice(stemp1, i +1, sizeof(stemp1)), GetStateText(bitRead(power, i))); } - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s,\"" D_WIFI "\":{\"" D_AP "\":%d,\"" D_SSID "\":\"%s\",\"" D_RSSI "\":%d,\"" D_APMAC_ADDRESS "\":\"%s\"}}"), + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s,\"" D_JSON_WIFI "\":{\"" D_JSON_AP "\":%d,\"" D_JSON_SSID "\":\"%s\",\"" D_JSON_RSSI "\":%d,\"" D_JSON_APMAC_ADDRESS "\":\"%s\"}}"), mqtt_data, Settings.sta_active +1, Settings.sta_ssid[Settings.sta_active], WifiGetRssiAsQuality(WiFi.RSSI()), WiFi.BSSIDstr().c_str()); } boolean MqttShowSensor() { - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s{\"" D_TIME "\":\"%s\""), mqtt_data, GetDateAndTime().c_str()); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s{\"" D_JSON_TIME "\":\"%s\""), mqtt_data, GetDateAndTime().c_str()); int json_data_start = strlen(mqtt_data); for (byte i = 0; i < MAX_SWITCHES; i++) { if (pin[GPIO_SWT1 +i] < 99) { boolean swm = ((FOLLOW_INV == Settings.switchmode[i]) || (PUSHBUTTON_INV == Settings.switchmode[i]) || (PUSHBUTTONHOLD_INV == Settings.switchmode[i])); - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s,\"" D_SWITCH "%d\":\"%s\""), mqtt_data, i +1, GetStateText(swm ^ lastwallswitch[i])); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s,\"" D_JSON_SWITCH "%d\":\"%s\""), mqtt_data, i +1, GetStateText(swm ^ lastwallswitch[i])); } } XsnsCall(FUNC_JSON_APPEND); boolean json_data_available = (strlen(mqtt_data) - json_data_start); if (strstr_P(mqtt_data, PSTR(D_TEMPERATURE))) { - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s,\"" D_TEMPERATURE_UNIT "\":\"%c\""), mqtt_data, TempUnit()); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s,\"" D_JSON_TEMPERATURE_UNIT "\":\"%c\""), mqtt_data, TempUnit()); } snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s}"), mqtt_data); @@ -1875,7 +1871,7 @@ void PerformEverySecond() if ((2 == RtcTime.minute) && latest_uptime_flag) { latest_uptime_flag = false; uptime++; - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_TIME "\":\"%s\",\"" D_UPTIME "\":%d}"), GetDateAndTime().c_str(), uptime); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_JSON_TIME "\":\"%s\",\"" D_JSON_UPTIME "\":%d}"), GetDateAndTime().c_str(), uptime); MqttPublishPrefixTopic_P(2, PSTR(D_RSLT_UPTIME)); } if ((3 == RtcTime.minute) && !latest_uptime_flag) { @@ -2257,9 +2253,9 @@ void StateLoop() ota_state_flag = 0; if (ota_result) { SetFlashModeDout(); // Force DOUT for both ESP8266 and ESP8285 - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR(D_SUCCESSFUL ". " D_RESTARTING)); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR(D_JSON_SUCCESSFUL ". " D_JSON_RESTARTING)); } else { - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR(D_FAILED " %s"), ESPhttpUpdate.getLastErrorString().c_str()); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR(D_JSON_FAILED " %s"), ESPhttpUpdate.getLastErrorString().c_str()); } restart_flag = 2; // Restart anyway to keep memory clean webserver MqttPublishPrefixTopic_P(1, PSTR(D_CMND_UPGRADE)); diff --git a/sonoff/sonoff_post.h b/sonoff/sonoff_post.h index 56e696573..1ab165587 100644 --- a/sonoff/sonoff_post.h +++ b/sonoff/sonoff_post.h @@ -103,5 +103,9 @@ void WifiWpsStatusCallback(wps_cb_status status); #define MESSZ 405 // Max number of characters in JSON message string (6 x DS18x20 sensors) #endif +#include // Arduino_Esp8266 version information (ARDUINO_ESP8266_RELEASE and ARDUINO_ESP8266_RELEASE_2_3_0) +#ifndef ARDUINO_ESP8266_RELEASE +#define ARDUINO_ESP8266_RELEASE "STAGED" +#endif #endif // _SONOFF_POST_H_ \ No newline at end of file diff --git a/sonoff/support.ino b/sonoff/support.ino index 1cbe12cd0..a03efa378 100644 --- a/sonoff/support.ino +++ b/sonoff/support.ino @@ -71,7 +71,7 @@ String GetResetReason() { char buff[32]; if (oswatch_blocked_loop) { - strncpy_P(buff, PSTR(D_BLOCKED_LOOP), sizeof(buff)); + strncpy_P(buff, PSTR(D_JSON_BLOCKED_LOOP), sizeof(buff)); return String(buff); } else { return ESP.getResetReason(); @@ -461,10 +461,12 @@ void WifiBegin(uint8_t flag) #ifdef USE_EMULATION UdpDisconnect(); #endif // USE_EMULATION - if (!strncmp_P(ESP.getSdkVersion(),PSTR("1.5.3"),5)) { - AddLog_P(LOG_LEVEL_DEBUG, S_LOG_WIFI, PSTR(D_PATCH_ISSUE_2186)); - WiFi.mode(WIFI_OFF); // See https://github.com/esp8266/Arduino/issues/2186 - } + +#ifdef ARDUINO_ESP8266_RELEASE_2_3_0 // (!strncmp_P(ESP.getSdkVersion(),PSTR("1.5.3"),5)) + AddLog_P(LOG_LEVEL_DEBUG, S_LOG_WIFI, PSTR(D_PATCH_ISSUE_2186)); + WiFi.mode(WIFI_OFF); // See https://github.com/esp8266/Arduino/issues/2186 +#endif + WiFi.disconnect(); WiFi.mode(WIFI_STA); // Disable AP mode if (Settings.sleep) { @@ -840,7 +842,7 @@ void I2cScan(char *devs, unsigned int devs_len) byte any = 0; char tstr[10]; - snprintf_P(devs, devs_len, PSTR("{\"" D_CMND_I2CSCAN "\":\"" D_I2CSCAN_DEVICES_FOUND_AT)); + snprintf_P(devs, devs_len, PSTR("{\"" D_CMND_I2CSCAN "\":\"" D_JSON_I2CSCAN_DEVICES_FOUND_AT)); for (address = 1; address <= 127; address++) { Wire.beginTransmission(address); error = Wire.endTransmission(); @@ -850,13 +852,13 @@ void I2cScan(char *devs, unsigned int devs_len) any = 1; } else if (4 == error) { - snprintf_P(devs, devs_len, PSTR("{\"" D_CMND_I2CSCAN "\":\"" D_I2CSCAN_UNKNOWN_ERROR_AT " 0x%2x\"}"), address); + snprintf_P(devs, devs_len, PSTR("{\"" D_CMND_I2CSCAN "\":\"" D_JSON_I2CSCAN_UNKNOWN_ERROR_AT " 0x%2x\"}"), address); } } if (any) { strncat(devs, "\"}", devs_len); } else { - snprintf_P(devs, devs_len, PSTR("{\"" D_CMND_I2CSCAN "\":\"" D_I2CSCAN_NO_DEVICES_FOUND "\"}")); + snprintf_P(devs, devs_len, PSTR("{\"" D_CMND_I2CSCAN "\":\"" D_JSON_I2CSCAN_NO_DEVICES_FOUND "\"}")); } } diff --git a/sonoff/user_config.h b/sonoff/user_config.h index e86666752..103baa65e 100644 --- a/sonoff/user_config.h +++ b/sonoff/user_config.h @@ -184,7 +184,7 @@ // #define USE_ADS1115 // Add I2C code for ADS1115 16 bit A/D converter based on Adafruit ADS1x15 library (no library needed) (+0k7 code) // #define USE_ADS1115_I2CDEV // Add I2C code for ADS1115 16 bit A/D converter using library i2cdevlib-Core and i2cdevlib-ADS1115 (+2k code) // #define USE_INA219 // Add I2C code for INA219 Low voltage and current sensor (+1k code) -// #define USE_DISPLAY // Add I2C Display Support for LCD, Oled and up to eigth Matrices +// #define USE_DISPLAY // Add I2C Display Support for LCD, Oled and up to eigth Matrices (+19k code) #define MTX_ADDRESS1 0x71 // [DisplayAddress[1]] I2C address of first 8x8 matrix module #define MTX_ADDRESS2 0x74 // [DisplayAddress[2]] I2C address of second 8x8 matrix module #define MTX_ADDRESS3 0x75 // [DisplayAddress[3]] I2C address of third 8x8 matrix module @@ -195,7 +195,7 @@ #define MTX_ADDRESS8 0x00 // [DisplayAddress[8]] I2C address of eigth 8x8 matrix module #endif // USE_I2C -//#define USE_SPI // SPI using library theo_TFT +//#define USE_SPI // SPI using library TasmotaTFT #ifdef USE_SPI #ifndef USE_DISPLAY #define USE_DISPLAY // Add SPI Display support for 320x240 and 480x320 TFT diff --git a/sonoff/webserver.ino b/sonoff/webserver.ino index c14f1a1e7..1b13e8690 100644 --- a/sonoff/webserver.ino +++ b/sonoff/webserver.ino @@ -1481,7 +1481,7 @@ void HandleInformation() func += F("
"); func += F(D_PROGRAM_VERSION "}2" VERSION_STRING); func += F("}1" D_BUILD_DATE_AND_TIME "}2"); func += GetBuildDateAndTime(); - func += F("}1" D_CORE_AND_SDK_VERSION "}2"); func += ESP.getCoreVersion(); func += F("/"); func += String(ESP.getSdkVersion()); + func += F("}1" D_CORE_AND_SDK_VERSION "}2" ARDUINO_ESP8266_RELEASE "/"); func += String(ESP.getSdkVersion()); func += F("}1" D_UPTIME "}2"); func += String(uptime); func += F(" Hours"); snprintf_P(stopic, sizeof(stopic), PSTR(" at %X"), GetSettingsAddress()); func += F("}1" D_FLASH_WRITE_COUNT "}2"); func += String(Settings.save_flag); func += stopic; diff --git a/sonoff/xdrv_01_light.ino b/sonoff/xdrv_01_light.ino index ef5eb1530..44801bfc1 100644 --- a/sonoff/xdrv_01_light.ino +++ b/sonoff/xdrv_01_light.ino @@ -1096,7 +1096,7 @@ boolean LightCommand() light_wakeup_active = 3; Settings.light_scheme = LS_WAKEUP; LightPowerOn(); - snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_SVALUE, command, D_STARTED); + snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_SVALUE, command, D_JSON_STARTED); } else if ((CMND_COLORTEMPERATURE == command_code) && ((LST_COLDWARM == light_subtype) || (LST_RGBWC == light_subtype))) { // ColorTemp if (option != '\0') { diff --git a/sonoff/xdrv_02_irremote.ino b/sonoff/xdrv_02_irremote.ino index 632198d4c..93a778c24 100644 --- a/sonoff/xdrv_02_irremote.ino +++ b/sonoff/xdrv_02_irremote.ino @@ -339,7 +339,7 @@ boolean IrSendCommand() error = true; } if (error) { - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_IRSEND "\":\"" D_NO " " D_JSON_IR_PROTOCOL ", " D_JSON_IR_BITS " " D_JSON_OR " " D_JSON_IR_DATA "\"}")); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_IRSEND "\":\"" D_JSON_NO " " D_JSON_IR_PROTOCOL ", " D_JSON_IR_BITS " " D_JSON_OR " " D_JSON_IR_DATA "\"}")); } } #ifdef USE_IR_HVAC diff --git a/sonoff/xdrv_04_snfbridge.ino b/sonoff/xdrv_04_snfbridge.ino index f7d414856..94d0db208 100644 --- a/sonoff/xdrv_04_snfbridge.ino +++ b/sonoff/xdrv_04_snfbridge.ino @@ -40,7 +40,7 @@ unsigned long sonoff_bridge_last_learn_time = 0; void SonoffBridgeLearnFailed() { sonoff_bridge_learn_active = 0; - snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_SVALUE, D_CMND_RFKEY, sonoff_bridge_learn_key, D_LEARN_FAILED); + snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_SVALUE, D_CMND_RFKEY, sonoff_bridge_learn_key, D_JSON_LEARN_FAILED); MqttPublishPrefixTopic_P(5, PSTR(D_CMND_RFKEY)); } @@ -71,7 +71,7 @@ void SonoffBridgeReceived() for (byte i = 0; i < 9; i++) { Settings.rf_code[sonoff_bridge_learn_key][i] = serial_in_buffer[i +1]; } - snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_SVALUE, D_CMND_RFKEY, sonoff_bridge_learn_key, D_LEARNED); + snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_SVALUE, D_CMND_RFKEY, sonoff_bridge_learn_key, D_JSON_LEARNED); MqttPublishPrefixTopic_P(5, PSTR(D_CMND_RFKEY)); } else { SonoffBridgeLearnFailed(); @@ -90,7 +90,7 @@ void SonoffBridgeReceived() if (!((received_id == sonoff_bridge_last_received_id) && (now - sonoff_bridge_last_time < SFB_TIME_AVOID_DUPLICATE))) { sonoff_bridge_last_received_id = received_id; sonoff_bridge_last_time = now; - strncpy_P(rfkey, PSTR("\"" D_NONE "\""), sizeof(rfkey)); + strncpy_P(rfkey, PSTR("\"" D_JSON_NONE "\""), sizeof(rfkey)); for (byte i = 1; i <= 16; i++) { if (Settings.rf_code[i][0]) { uint32_t send_id = Settings.rf_code[i][6] << 16 | Settings.rf_code[i][7] << 8 | Settings.rf_code[i][8]; @@ -100,9 +100,9 @@ void SonoffBridgeReceived() } } } - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_RFRECEIVED "\":{\"" D_JSON_SYNC "\":%d,\"" D_JSON_LOW "\":%d,\"" D_JSON_HIGH "\":%d,\"" D_JSON_DATA "\":\"%06X\",\"" D_CMND_RFKEY "\":%s}}"), + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_JSON_RFRECEIVED "\":{\"" D_JSON_SYNC "\":%d,\"" D_JSON_LOW "\":%d,\"" D_JSON_HIGH "\":%d,\"" D_JSON_DATA "\":\"%06X\",\"" D_CMND_RFKEY "\":%s}}"), sync_time, low_time, high_time, received_id, rfkey); - MqttPublishPrefixTopic_P(6, PSTR(D_RFRECEIVED)); + MqttPublishPrefixTopic_P(6, PSTR(D_JSON_RFRECEIVED)); #ifdef USE_DOMOTICZ DomoticzSensor(DZ_COUNT, received_id); // Send rid as Domoticz Counter value #endif // USE_DOMOTICZ @@ -255,11 +255,11 @@ boolean SonoffBridgeCommand() sonoff_bridge_learn_active = 0; if (2 == XdrvMailbox.payload) { // Learn RF data SonoffBridgeLearn(XdrvMailbox.index); - snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_SVALUE, command, XdrvMailbox.index, D_START_LEARNING); + snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_SVALUE, command, XdrvMailbox.index, D_JSON_START_LEARNING); } else if (3 == XdrvMailbox.payload) { // Unlearn RF data Settings.rf_code[XdrvMailbox.index][0] = 0; - snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_SVALUE, command, XdrvMailbox.index, D_SET_TO_DEFAULT); + snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_SVALUE, command, XdrvMailbox.index, D_JSON_SET_TO_DEFAULT); } else if (4 == XdrvMailbox.payload) { // Save RF data provided by RFSync, RfLow, RfHigh and last RfCode for (byte i = 0; i < 6; i++) { @@ -268,18 +268,18 @@ boolean SonoffBridgeCommand() Settings.rf_code[XdrvMailbox.index][6] = (sonoff_bridge_last_send_code >> 16) & 0xff; Settings.rf_code[XdrvMailbox.index][7] = (sonoff_bridge_last_send_code >> 8) & 0xff; Settings.rf_code[XdrvMailbox.index][8] = sonoff_bridge_last_send_code & 0xff; - snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_SVALUE, command, XdrvMailbox.index, D_SAVED); + snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_SVALUE, command, XdrvMailbox.index, D_JSON_SAVED); } else { if ((1 == XdrvMailbox.payload) || (0 == Settings.rf_code[XdrvMailbox.index][0])) { SonoffBridgeSend(0, XdrvMailbox.index); // Send default RF data - snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_SVALUE, command, XdrvMailbox.index, D_DEFAULT_SENT); + snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_SVALUE, command, XdrvMailbox.index, D_JSON_DEFAULT_SENT); } else { SonoffBridgeSend(XdrvMailbox.index, 0); // Send learned RF data - snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_SVALUE, command, XdrvMailbox.index, D_LEARNED_SENT); + snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_SVALUE, command, XdrvMailbox.index, D_JSON_LEARNED_SENT); } } } else { - snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_SVALUE, command, sonoff_bridge_learn_key, D_LEARNING_ACTIVE); + snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_SVALUE, command, sonoff_bridge_learn_key, D_JSON_LEARNING_ACTIVE); } } else serviced = false; return serviced; diff --git a/sonoff/xsns_03_energy.ino b/sonoff/xsns_03_energy.ino index 1de36db02..e0e7db308 100644 --- a/sonoff/xsns_03_energy.ino +++ b/sonoff/xsns_03_energy.ino @@ -569,7 +569,7 @@ void EnergyMarginCheck() } else { energy_mplh_counter--; if (!energy_mplh_counter) { - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_MAXPOWERREACHED "\":\"%d%s\"}"), energy_power_u, (Settings.flag.value_units) ? " " D_UNIT_WATT : ""); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_JSON_MAXPOWERREACHED "\":\"%d%s\"}"), energy_power_u, (Settings.flag.value_units) ? " " D_UNIT_WATT : ""); MqttPublishPrefixTopic_P(1, S_RSLT_WARNING); EnergyMqttShow(); ExecuteCommandPower(1, 0); @@ -592,11 +592,11 @@ void EnergyMarginCheck() if (energy_mplr_counter) { energy_mplr_counter--; if (energy_mplr_counter) { - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_POWERMONITOR "\":\"%s\"}"), GetStateText(1)); - MqttPublishPrefixTopic_P(5, PSTR(D_POWERMONITOR)); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_JSON_POWERMONITOR "\":\"%s\"}"), GetStateText(1)); + MqttPublishPrefixTopic_P(5, PSTR(D_JSON_POWERMONITOR)); ExecuteCommandPower(1, 1); } else { - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_MAXPOWERREACHEDRETRY "\":\"%s\"}"), GetStateText(0)); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_JSON_MAXPOWERREACHEDRETRY "\":\"%s\"}"), GetStateText(0)); MqttPublishPrefixTopic_P(1, S_RSLT_WARNING); EnergyMqttShow(); } @@ -610,14 +610,14 @@ void EnergyMarginCheck() energy_daily_u = (uint16_t)(energy_daily * 1000); if (!energy_max_energy_state && (RtcTime.hour == Settings.energy_max_energy_start)) { energy_max_energy_state = 1; - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_ENERGYMONITOR "\":\"%s\"}"), GetStateText(1)); - MqttPublishPrefixTopic_P(5, PSTR(D_ENERGYMONITOR)); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_JSON_ENERGYMONITOR "\":\"%s\"}"), GetStateText(1)); + MqttPublishPrefixTopic_P(5, PSTR(D_JSON_ENERGYMONITOR)); ExecuteCommandPower(1, 1); } else if ((1 == energy_max_energy_state) && (energy_daily_u >= Settings.energy_max_energy)) { energy_max_energy_state = 2; dtostrfd(energy_daily, 3, mqtt_data); - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_MAXENERGYREACHED "\":\"%s%s\"}"), mqtt_data, (Settings.flag.value_units) ? " " D_UNIT_KILOWATTHOUR : ""); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_JSON_MAXENERGYREACHED "\":\"%s%s\"}"), mqtt_data, (Settings.flag.value_units) ? " " D_UNIT_KILOWATTHOUR : ""); MqttPublishPrefixTopic_P(1, S_RSLT_WARNING); EnergyMqttShow(); ExecuteCommandPower(1, 0); @@ -629,7 +629,7 @@ void EnergyMarginCheck() void EnergyMqttShow() { // {"Time":"2017-12-16T11:48:55","ENERGY":{"Total":0.212,"Yesterday":0.000,"Today":0.014,"Period":2.0,"Power":22.0,"Factor":1.00,"Voltage":213.6,"Current":0.100}} - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_TIME "\":\"%s\""), GetDateAndTime().c_str()); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_JSON_TIME "\":\"%s\""), GetDateAndTime().c_str()); EnergyShow(1); MqttPublishPrefixTopic_P(2, PSTR(D_RSLT_ENERGY), Settings.flag.mqtt_sensor_retain); } diff --git a/sonoff/xsns_05_ds18x20.ino b/sonoff/xsns_05_ds18x20.ino index 9825e36c8..fa525da36 100644 --- a/sonoff/xsns_05_ds18x20.ino +++ b/sonoff/xsns_05_ds18x20.ino @@ -372,7 +372,7 @@ void Ds18x20Show(boolean json) for (byte j = 0; j < 6; j++) { sprintf(address+2*j, "%02X", ds18x20_address[ds18x20_index[i]][6-j]); // Skip sensor type and crc } - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s,\"%s\":{\"" D_ID "\":\"%s\",\"" D_JSON_TEMPERATURE "\":%s}"), mqtt_data, stemp, address, temperature); + snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s,\"%s\":{\"" D_JSON_ID "\":\"%s\",\"" D_JSON_TEMPERATURE "\":%s}"), mqtt_data, stemp, address, temperature); } #ifdef USE_DOMOTICZ if (domoticz_flag) { diff --git a/sonoff/xsns_09_bmp.ino b/sonoff/xsns_09_bmp.ino index 77143b94b..a2776f82f 100644 --- a/sonoff/xsns_09_bmp.ino +++ b/sonoff/xsns_09_bmp.ino @@ -460,7 +460,7 @@ void BmpShow(boolean json) snprintf_P(json_sealevel, sizeof(json_sealevel), PSTR(",\"" D_JSON_PRESSUREATSEALEVEL "\":%s"), sea_pressure); #ifdef USE_BME680 char json_gas[40]; - snprintf_P(json_gas, sizeof(json_gas), PSTR(",\"" D_GAS "\":%s"), gas_resistance); + snprintf_P(json_gas, sizeof(json_gas), PSTR(",\"" D_JSON_GAS "\":%s"), gas_resistance); snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s,\"%s\":{\"" D_JSON_TEMPERATURE "\":%s%s,\"" D_JSON_PRESSURE "\":%s%s%s}"), mqtt_data, bmp_name, temperature, (bmp_model >= 2) ? json_humidity : "", pressure, (Settings.altitude != 0) ? json_sealevel : "", (bmp_model >= 3) ? json_gas : ""); #else