diff --git a/tasmota/i18n.h b/tasmota/i18n.h index f2ca5ac65..a21734ae9 100644 --- a/tasmota/i18n.h +++ b/tasmota/i18n.h @@ -57,6 +57,7 @@ #define D_JSON_DNSSERVER "DNSServer" #define D_JSON_DONE "Done" #define D_JSON_DOWNTIME "Downtime" +#define D_JSON_EC "EC" #define D_JSON_ECO2 "eCO2" #define D_JSON_EMPTY "Empty" #define D_JSON_ENDDST "EndDST" // End Daylight Savings Time @@ -773,6 +774,7 @@ const char HTTP_SNS_POWER[] PROGMEM = "{s}" D_POWERUSAGE "{ const char HTTP_SNS_ENERGY_TOTAL[] PROGMEM = "{s}" D_ENERGY_TOTAL "{m}%s " D_UNIT_KILOWATTHOUR "{e}"; const char HTTP_SNS_PH[] PROGMEM = "{s}%s " D_PH "{m}%s " "{e}"; const char HTTP_SNS_ORP[] PROGMEM = "{s}%s " D_ORP "{m}%s " D_UNIT_MILLIVOLT "{e}"; +const char HTTP_SNS_EC[] PROGMEM = "{s}%s " D_EC "{m}%s " D_UNIT_MICROSIEMENS_PER_CM "{e}"; const char S_MAIN_MENU[] PROGMEM = D_MAIN_MENU; const char S_CONFIGURATION[] PROGMEM = D_CONFIGURATION; diff --git a/tasmota/language/bg_BG.h b/tasmota/language/bg_BG.h index f0a869cf9..cd1f9ed24 100644 --- a/tasmota/language/bg_BG.h +++ b/tasmota/language/bg_BG.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "DNS Сървър" #define D_DONE "Изпълнено" #define D_DST_TIME "Лятно време" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "Емулация" #define D_ENABLED "Разрешен" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "µm" #define D_UNIT_MICROSECOND "µs" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/cs_CZ.h b/tasmota/language/cs_CZ.h index ec09983a7..48e1496ef 100644 --- a/tasmota/language/cs_CZ.h +++ b/tasmota/language/cs_CZ.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "Server DNS" #define D_DONE "Provedeno" #define D_DST_TIME "DST" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "Emulace" #define D_ENABLED "Otevřený" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "µm" #define D_UNIT_MICROSECOND "µs" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/de_DE.h b/tasmota/language/de_DE.h index 4d3d9eecd..fd860a180 100644 --- a/tasmota/language/de_DE.h +++ b/tasmota/language/de_DE.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "DNS-Server" #define D_DONE "erledigt" #define D_DST_TIME "DST" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "Emulation" #define D_ENABLED "aktiviert" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "µm" #define D_UNIT_MICROSECOND "µs" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/el_GR.h b/tasmota/language/el_GR.h index 1f20dd270..6306e0adb 100644 --- a/tasmota/language/el_GR.h +++ b/tasmota/language/el_GR.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "Διακομιστής DNS" #define D_DONE "Ολοκληρώθηκε" #define D_DST_TIME "DST" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "Εξομoίωση" #define D_ENABLED "Ενεργό" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "µm" #define D_UNIT_MICROSECOND "µs" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/en_GB.h b/tasmota/language/en_GB.h index 7e84ff75b..acf7271f2 100644 --- a/tasmota/language/en_GB.h +++ b/tasmota/language/en_GB.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "DNS Server" #define D_DONE "Done" #define D_DST_TIME "DST" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "Emulation" #define D_ENABLED "Enabled" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "µm" #define D_UNIT_MICROSECOND "µs" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/es_ES.h b/tasmota/language/es_ES.h index 35f0ac6f5..31decf77e 100644 --- a/tasmota/language/es_ES.h +++ b/tasmota/language/es_ES.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "Servidor DNS" #define D_DONE "Listo" #define D_DST_TIME "DST" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "Emulación" #define D_ENABLED "Habilitado" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "µm" #define D_UNIT_MICROSECOND "µs" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/fr_FR.h b/tasmota/language/fr_FR.h index 4c7775e49..a80353835 100644 --- a/tasmota/language/fr_FR.h +++ b/tasmota/language/fr_FR.h @@ -82,6 +82,7 @@ #define D_DNS_SERVER "Serveur DNS" #define D_DONE "Terminé" #define D_DST_TIME "DST" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "Émulation" #define D_ENABLED "Activé" @@ -743,6 +744,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "µm" #define D_UNIT_MICROSECOND "µs" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/he_HE.h b/tasmota/language/he_HE.h index 4fb8cf5b6..5d3a71a2c 100644 --- a/tasmota/language/he_HE.h +++ b/tasmota/language/he_HE.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "DNS שרת" #define D_DONE "סיים" #define D_DST_TIME "DST" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "הדמיה" #define D_ENABLED "מאופשר" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "µm" #define D_UNIT_MICROSECOND "µs" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/hu_HU.h b/tasmota/language/hu_HU.h index d0cddc994..5f4d0219a 100644 --- a/tasmota/language/hu_HU.h +++ b/tasmota/language/hu_HU.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "DNS szerver" #define D_DONE "Kész" #define D_DST_TIME "nyári idő" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "Emuláció" #define D_ENABLED "Engedélyezve" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "µm" #define D_UNIT_MICROSECOND "µs" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/it_IT.h b/tasmota/language/it_IT.h index 44c671fdb..f5dc1829a 100644 --- a/tasmota/language/it_IT.h +++ b/tasmota/language/it_IT.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "Server DNS" #define D_DONE "Completato" #define D_DST_TIME "DST" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "Tipo emulazione" #define D_ENABLED "Abilitato" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "µm" #define D_UNIT_MICROSECOND "µs" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/ko_KO.h b/tasmota/language/ko_KO.h index a0c162c17..1ddaac5eb 100644 --- a/tasmota/language/ko_KO.h +++ b/tasmota/language/ko_KO.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "DNS 서버" #define D_DONE "완료" #define D_DST_TIME "DST" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "에뮬레이션" #define D_ENABLED "사용" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "마이크로미터" #define D_UNIT_MICROSECOND "마이크로초" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/nl_NL.h b/tasmota/language/nl_NL.h index 5abc5852a..9c73b3dd0 100644 --- a/tasmota/language/nl_NL.h +++ b/tasmota/language/nl_NL.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "DNS Server" #define D_DONE "Klaar" #define D_DST_TIME "ZT" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "Emulatie" #define D_ENABLED "Geactiveerd" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "µm" #define D_UNIT_MICROSECOND "µs" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/pl_PL.h b/tasmota/language/pl_PL.h index 4d274f6c8..b17daa404 100644 --- a/tasmota/language/pl_PL.h +++ b/tasmota/language/pl_PL.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "Serwer DNS" #define D_DONE "Wykonane" #define D_DST_TIME "Czas DST" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "Emulacja" #define D_ENABLED "Załączony" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "µm" #define D_UNIT_MICROSECOND "µs" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/pt_BR.h b/tasmota/language/pt_BR.h index b81212785..1c3e4e0f0 100644 --- a/tasmota/language/pt_BR.h +++ b/tasmota/language/pt_BR.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "Servidor DNS" #define D_DONE "Concluído" #define D_DST_TIME "DST" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "Emulação" #define D_ENABLED "Habilitado" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "µm" #define D_UNIT_MICROSECOND "µs" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/pt_PT.h b/tasmota/language/pt_PT.h index 684f87424..0884caad0 100644 --- a/tasmota/language/pt_PT.h +++ b/tasmota/language/pt_PT.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "Servidor DNS" #define D_DONE "Concluído" #define D_DST_TIME "DST" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "Emulação" #define D_ENABLED "Habilitado" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "µm" #define D_UNIT_MICROSECOND "µs" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/ro_RO.h b/tasmota/language/ro_RO.h index f61504c4e..bee81ffe5 100644 --- a/tasmota/language/ro_RO.h +++ b/tasmota/language/ro_RO.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "Server DNS" #define D_DONE "Terminat" #define D_DST_TIME "DST" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "Emulație" #define D_ENABLED "Activat" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "µm" #define D_UNIT_MICROSECOND "µs" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/ru_RU.h b/tasmota/language/ru_RU.h index 1bef3939e..50ff4b89e 100644 --- a/tasmota/language/ru_RU.h +++ b/tasmota/language/ru_RU.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "DNS Сервер" #define D_DONE "Выполнено" #define D_DST_TIME "DST" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "Эмуляция" #define D_ENABLED "Активно" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "мкг/м³" #define D_UNIT_MICROMETER "мкм" #define D_UNIT_MICROSECOND "мкс" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "мА" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "мм рт.ст." diff --git a/tasmota/language/sk_SK.h b/tasmota/language/sk_SK.h index d090767a4..6d269327a 100644 --- a/tasmota/language/sk_SK.h +++ b/tasmota/language/sk_SK.h @@ -87,6 +87,7 @@ #define D_DNS_SERVER "Server DNS" #define D_DONE "Hotovo" #define D_DST_TIME "DST" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "Emulácia" #define D_ENABLED "Otvorený" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "µm" #define D_UNIT_MICROSECOND "µs" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/sv_SE.h b/tasmota/language/sv_SE.h index d186cf43b..7a946b4f0 100644 --- a/tasmota/language/sv_SE.h +++ b/tasmota/language/sv_SE.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "DNS-server" #define D_DONE "Gjort" #define D_DST_TIME "DST" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "Emulation" #define D_ENABLED "Aktiverad" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "µm" #define D_UNIT_MICROSECOND "µs" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/tr_TR.h b/tasmota/language/tr_TR.h index 244dad325..6d057b857 100644 --- a/tasmota/language/tr_TR.h +++ b/tasmota/language/tr_TR.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "DNS Sunucu" #define D_DONE "Tamam" #define D_DST_TIME "DST" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "Emülasyon" #define D_ENABLED "Etkin" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "µm" #define D_UNIT_MICROSECOND "µs" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/uk_UA.h b/tasmota/language/uk_UA.h index 1f3448303..71d768ceb 100644 --- a/tasmota/language/uk_UA.h +++ b/tasmota/language/uk_UA.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "Сервер DNS" #define D_DONE "Виконано" #define D_DST_TIME "Літній час" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "Емуляція" #define D_ENABLED "Увімкнено" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µг/м³" #define D_UNIT_MICROMETER "µм" #define D_UNIT_MICROSECOND "µС" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "мА" #define D_UNIT_MILLIMETER "мм" #define D_UNIT_MILLIMETER_MERCURY "ммHg" diff --git a/tasmota/language/vi_VN.h b/tasmota/language/vi_VN.h index e0700ba32..106f74e38 100644 --- a/tasmota/language/vi_VN.h +++ b/tasmota/language/vi_VN.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "Máy chủ DNS" #define D_DONE "Hoàn thành" #define D_DST_TIME "DST" +#define D_EC "EC" #define D_ECO2 "eCO2" #define D_EMULATION "Mô phỏng" #define D_ENABLED "Kích hoạt" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³" #define D_UNIT_MICROMETER "µm" #define D_UNIT_MICROSECOND "µs" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "mA" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/language/zh_CN.h b/tasmota/language/zh_CN.h index a7d930ae4..01382ced7 100644 --- a/tasmota/language/zh_CN.h +++ b/tasmota/language/zh_CN.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "DNS服务器" #define D_DONE "完成" #define D_DST_TIME "DST" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "设备模拟" #define D_ENABLED "启用" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "微克/立方米" #define D_UNIT_MICROMETER "微米" #define D_UNIT_MICROSECOND "微秒" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "毫安" #define D_UNIT_MILLIMETER "毫米" #define D_UNIT_MILLIMETER_MERCURY "毫米汞柱" diff --git a/tasmota/language/zh_TW.h b/tasmota/language/zh_TW.h index 4243f0b55..9f5ab99cc 100644 --- a/tasmota/language/zh_TW.h +++ b/tasmota/language/zh_TW.h @@ -86,6 +86,7 @@ #define D_DNS_SERVER "DNS伺服器" #define D_DONE "完成" #define D_DST_TIME "DST" +#define D_EC "EC" #define D_ECO2 "eCO₂" #define D_EMULATION "模擬" #define D_ENABLED "已啟用" @@ -747,6 +748,7 @@ #define D_UNIT_MICROGRAM_PER_CUBIC_METER "微克/立方公尺" #define D_UNIT_MICROMETER "微米" #define D_UNIT_MICROSECOND "微秒" +#define D_UNIT_MICROSIEMENS_PER_CM "µS/cm" #define D_UNIT_MILLIAMPERE "毫安培" #define D_UNIT_MILLIMETER "mm" #define D_UNIT_MILLIMETER_MERCURY "mmHg" diff --git a/tasmota/my_user_config.h b/tasmota/my_user_config.h index 28c075d9f..db809b67b 100644 --- a/tasmota/my_user_config.h +++ b/tasmota/my_user_config.h @@ -566,6 +566,7 @@ // #define USE_EZOORP // [I2cDriver55] Enable support for EZO's ORP sensor (+0k3 code) - Shared EZO code required for any EZO device (+1k2 code) // #define USE_EZORTD // [I2cDriver55] Enable support for EZO's RTD sensor (+0k2 code) - Shared EZO code required for any EZO device (+1k2 code) // #define USE_EZOHUM // [I2cDriver55] Enable support for EZO's HUM sensor (+0k3 code) - Shared EZO code required for any EZO device (+1k2 code) + #define USE_EZOEC // [I2cDriver55] Enable support for EZO's EC sensor (+0k3 code) - Shared EZO code required for any EZO device (+1k2 code) // #define USE_DISPLAY // Add I2C Display Support (+2k code) #define USE_DISPLAY_MODES1TO5 // Enable display mode 1 to 5 in addition to mode 0 diff --git a/tasmota/xsns_78_ezo.ino b/tasmota/xsns_78_ezo.ino index 60d13f971..1507a36c4 100644 --- a/tasmota/xsns_78_ezo.ino +++ b/tasmota/xsns_78_ezo.ino @@ -17,7 +17,7 @@ along with this program. If not, see . */ #ifdef USE_I2C -#if defined(USE_EZOPH) || defined(USE_EZOORP) || defined(USE_EZORTD) || defined(USE_EZOHUM) +#if defined(USE_EZOPH) || defined(USE_EZOORP) || defined(USE_EZORTD) || defined(USE_EZOHUM) || defined(USE_EZOEC) #define D_EZO_DELAY 300 // Minimum delay for any instruction #define D_EZO_MAX_BUF 40 // Maximum response diff --git a/tasmota/xsns_78_ezoec.ino b/tasmota/xsns_78_ezoec.ino new file mode 100644 index 000000000..8d5a22912 --- /dev/null +++ b/tasmota/xsns_78_ezoec.ino @@ -0,0 +1,56 @@ +/* + xsns_78_ezoph.ino - EZO EC I2C EC sensor support for Tasmota + + Copyright (C) 2020 Christopher Tremblay + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifdef USE_I2C +#ifdef USE_EZOEC + +#define EZO_EC_READ_LATENCY 600 + +struct EZOEC : public EZOStruct { + EZOEC(uint32_t addr) : EZOStruct(addr), EC(NAN) {} + + virtual void ProcessMeasurement(void) + { + char data[D_EZO_MAX_BUF]; + + EZOStruct::ProcessMeasurement(data, sizeof(data), EZO_EC_READ_LATENCY); + EC = CharToFloat(data); + } + + virtual void Show(bool json, const char *name) + { + char str[6]; + dtostrfd(EC, 2, str); + + if (json) { + ResponseAppend_P(PSTR(",\"%s\":{\"" D_JSON_EC "\":%s}" ), name, str); + } +#ifdef USE_WEBSERVER + else { + WSContentSend_PD(HTTP_SNS_EC, name, str); +#endif // USE_WEBSERVER + } + } + +private: + float EC; +}; + +#endif // USE_EZOEC +#endif // USE_I2C diff --git a/tasmota/xsns_78_xezo.ino b/tasmota/xsns_78_xezo.ino index b90fcbe0d..244268e00 100644 --- a/tasmota/xsns_78_xezo.ino +++ b/tasmota/xsns_78_xezo.ino @@ -18,10 +18,10 @@ */ #ifdef USE_I2C -#if defined(USE_EZOPH) || defined(USE_EZOORP) || defined(USE_EZORTD) || defined(USE_EZOHUM) +#if defined(USE_EZOPH) || defined(USE_EZOORP) || defined(USE_EZORTD) || defined(USE_EZOHUM) || defined(USE_EZOEC) #define XSNS_78 78 -#define XI2C_55 55 // See I2CDEVICES.md +#define XI2C_55 55 // See I2CDEVICES.md #define EZO_ADDR_0 0x61 // First EZO address #define EZO_ADDR_n 16 // Number of ports for use with EZO devices @@ -57,7 +57,9 @@ const char EZO_ORP_NAME[] PROGMEM = "ORP"; #ifdef USE_EZOPH const char EZO_PH_NAME[] PROGMEM = "pH"; #endif -//const char EZO_EC_NAME[] PROGMEM = "EC"; +#ifdef USE_EZOEC +const char EZO_EC_NAME[] PROGMEM = "pH"; +#endif #ifdef USE_EZORTD const char EZO_RTD_NAME[] PROGMEM = "RTD"; #endif @@ -86,7 +88,12 @@ const char *const EZOSupport[EZO_ADDR_n] PROGMEM = { EZO_EMPTY, #endif +#ifdef USE_EZOEC + EZO_EC_NAME, +#else EZO_EMPTY, +#endif + EZO_EMPTY, #ifdef USE_EZORTD @@ -248,6 +255,11 @@ private: sensor[count] = new EZOpH(addr); break; #endif +#ifdef USE_EZOEC + case EZO_EC: + sensor[count] = new EZOEC(addr); + break; +#endif #ifdef USE_EZORTD case EZO_RTD: sensor[count] = new EZORTD(addr);