Merge pull request #9697 from tichris0/development

Add support for EZO FLO sensor
This commit is contained in:
Theo Arends 2020-11-01 14:56:48 +01:00 committed by GitHub
commit 8896f7af90
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 168 additions and 2 deletions

View File

@ -85,3 +85,4 @@ Index | Define | Driver | Device | Address(es) | Description
55 | USE_EZOCO2 | xsns_78 | EZOCO2 | 0x61 - 0x70 | CO2 sensor
55 | USE_EZOO2 | xsns_78 | EZOO2 | 0x61 - 0x70 | O2 sensor
55 | USE_EZOPRS | xsns_78 | EZOPRS | 0x61 - 0x70 | Pressure sensor
55 | USE_EZOFLO | xsns_78 | EZOFLO | 0x61 - 0x70 | Flow meter sensor

View File

@ -182,6 +182,7 @@
#define D_JSON_VCC "Vcc"
#define D_JSON_VERSION "Version"
#define D_JSON_VOLTAGE "Voltage"
#define D_JSON_VOLUME "Volume"
#define D_JSON_WEIGHT "Weight"
#define D_JSON_WIFI "Wifi"
#define D_JSON_WRONG "Wrong"
@ -782,6 +783,8 @@ const char HTTP_SNS_PH[] PROGMEM = "{s}%s " D_PH "{
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 HTTP_SNS_O2[] PROGMEM = "{s}%s " D_O2 "{m}%s " D_UNIT_PERCENT "{e}";
const char HTTP_SNS_LITERS[] PROGMEM = "{s}%s " D_VOLUME "{m}%s " D_UNIT_LITERS "{e}";
const char HTTP_SNS_LPM[] PROGMEM = "{s}%s " D_FLOW_RATE "{m}%s " D_UNIT_LITERS_PER_MIN "{e}";
const char S_MAIN_MENU[] PROGMEM = D_MAIN_MENU;
const char S_CONFIGURATION[] PROGMEM = D_CONFIGURATION;

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "UV мощност"
#define D_VERSION "Версия"
#define D_VOLTAGE "Напрежение"
#define D_VOLUME "Volume"
#define D_WEIGHT "Тегло"
#define D_WARMLIGHT "Топла"
#define D_WEB_SERVER "Уеб сървър"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "µm"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "UV Power"
#define D_VERSION "Verze"
#define D_VOLTAGE "Napětí"
#define D_VOLUME "Volume"
#define D_WEIGHT "Hmotnost"
#define D_WARMLIGHT "Teplé světlo"
#define D_WEB_SERVER "Web Server"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "µm"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "UV Intensität"
#define D_VERSION "Version"
#define D_VOLTAGE "Spannung"
#define D_VOLUME "Volume"
#define D_WEIGHT "Gewicht"
#define D_WARMLIGHT "warm"
#define D_WEB_SERVER "Web-Server"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "µm"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "Ένταση UV"
#define D_VERSION "Έκδοση"
#define D_VOLTAGE "Τάση"
#define D_VOLUME "Volume"
#define D_WEIGHT "Βάρος"
#define D_WARMLIGHT "Θερμό"
#define D_WEB_SERVER "Διακομιστής Web"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "µm"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "UV Power"
#define D_VERSION "Version"
#define D_VOLTAGE "Voltage"
#define D_VOLUME "Volume"
#define D_WEIGHT "Weight"
#define D_WARMLIGHT "Warm"
#define D_WEB_SERVER "Web Server"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "µm"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "UV Power"
#define D_VERSION "Versión"
#define D_VOLTAGE "Tensión"
#define D_VOLUME "Volume"
#define D_WEIGHT "Peso"
#define D_WARMLIGHT "Cálida"
#define D_WEB_SERVER "Servidor Web"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "µm"

View File

@ -187,6 +187,7 @@
#define D_UV_POWER "Puissance UV"
#define D_VERSION "Version"
#define D_VOLTAGE "Tension"
#define D_VOLUME "Volume"
#define D_WEIGHT "Poids"
#define D_WARMLIGHT "Chaud"
#define D_WEB_SERVER "Serveur web"
@ -741,6 +742,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "µm"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "UV Power"
#define D_VERSION "גרסה"
#define D_VOLTAGE "מתח"
#define D_VOLUME "Volume"
#define D_WEIGHT "משקל"
#define D_WARMLIGHT "חום"
#define D_WEB_SERVER "Web שרת"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "µm"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "UV teljesítmény"
#define D_VERSION "Verzió"
#define D_VOLTAGE "Feszültség"
#define D_VOLUME "Volume"
#define D_WEIGHT "Tömeg"
#define D_WARMLIGHT "Meleg fény"
#define D_WEB_SERVER "Webszerver"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "µm"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "Intensità UV"
#define D_VERSION "Versione"
#define D_VOLTAGE "Tensione"
#define D_VOLUME "Volume"
#define D_WEIGHT "Peso"
#define D_WARMLIGHT "Calda"
#define D_WEB_SERVER "Server web"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "µm"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "UV 파워"
#define D_VERSION "버전"
#define D_VOLTAGE "전압"
#define D_VOLUME "Volume"
#define D_WEIGHT "무게"
#define D_WARMLIGHT "따뜻하게"
#define D_WEB_SERVER "웹 서버"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "마이크로미터"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "UV intensiteit"
#define D_VERSION "Versie"
#define D_VOLTAGE "Spanning"
#define D_VOLUME "Volume"
#define D_WEIGHT "Gewicht"
#define D_WARMLIGHT "Warm"
#define D_WEB_SERVER "Webserver"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "µm"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "Moc UV"
#define D_VERSION "Wersja"
#define D_VOLTAGE "Napięcie"
#define D_VOLUME "Volume"
#define D_WEIGHT "Waga"
#define D_WARMLIGHT "Temperatura światła"
#define D_WEB_SERVER "Serwer Web"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "µm"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "UV Power"
#define D_VERSION "Versão"
#define D_VOLTAGE "Voltagem"
#define D_VOLUME "Volume"
#define D_WEIGHT "Peso"
#define D_WARMLIGHT "Luz quente"
#define D_WEB_SERVER "Servidor WEB"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "µm"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "Poder UV"
#define D_VERSION "Versão"
#define D_VOLTAGE "Voltagem"
#define D_VOLUME "Volume"
#define D_WEIGHT "Peso"
#define D_WARMLIGHT "Luz Quente"
#define D_WEB_SERVER "Servidor WEB"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "µm"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "Putere UV"
#define D_VERSION "Versiune"
#define D_VOLTAGE "Voltaj"
#define D_VOLUME "Volume"
#define D_WEIGHT "Greutate"
#define D_WARMLIGHT "Cald"
#define D_WEB_SERVER "Server Web"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "µm"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "UV Power"
#define D_VERSION "Версия"
#define D_VOLTAGE "Напряжение"
#define D_VOLUME "Volume"
#define D_WEIGHT "Weight"
#define D_WARMLIGHT "Тепло"
#define D_WEB_SERVER "Web сервер"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
#define D_UNIT_KILOOHM "кОм"
#define D_UNIT_KILOWATTHOUR "кВт"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "лк"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "мкг/м³"
#define D_UNIT_MICROMETER "мкм"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "UV Power"
#define D_VERSION "Verzia"
#define D_VOLTAGE "Napätie"
#define D_VOLUME "Volume"
#define D_WEIGHT "Hmotnosť"
#define D_WARMLIGHT "Teplé svetlo"
#define D_WEB_SERVER "Web Server"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "µm"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "UV kraft"
#define D_VERSION "Version"
#define D_VOLTAGE "Volttal"
#define D_VOLUME "Volume"
#define D_WEIGHT "Vikt"
#define D_WARMLIGHT "Varm"
#define D_WEB_SERVER "Webbserver"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "µm"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "UV Power"
#define D_VERSION "Versiyon"
#define D_VOLTAGE "Voltaj"
#define D_VOLUME "Volume"
#define D_WEIGHT "Weight"
#define D_WARMLIGHT "Sıcak"
#define D_WEB_SERVER "Web Sunucusu"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "µm"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "Потужність УФ"
#define D_VERSION "Версія"
#define D_VOLTAGE "Напруга"
#define D_VOLUME "Volume"
#define D_WEIGHT "Вага"
#define D_WARMLIGHT "Тепло"
#define D_WEB_SERVER "Web сервер"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "км/г" // or "km/h"
#define D_UNIT_KILOOHM "㏀"
#define D_UNIT_KILOWATTHOUR "кВт/г"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "лк"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µг/м³"
#define D_UNIT_MICROMETER "µм"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "Công suất UV"
#define D_VERSION "Phiên bản"
#define D_VOLTAGE "Điện áp"
#define D_VOLUME "Volume"
#define D_WEIGHT "Cân nặng"
#define D_WARMLIGHT "Ấm"
#define D_WEB_SERVER "Máy chủ Web"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
#define D_UNIT_KILOOHM "kΩ"
#define D_UNIT_KILOWATTHOUR "kWh"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lx"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "µg/m³"
#define D_UNIT_MICROMETER "µm"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "紫外线功率 "
#define D_VERSION "版本"
#define D_VOLTAGE "电压"
#define D_VOLUME "Volume"
#define D_WEIGHT "重量"
#define D_WARMLIGHT "暖"
#define D_WEB_SERVER "Web Server"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "公里/时" // or "km/h"
#define D_UNIT_KILOOHM "千欧"
#define D_UNIT_KILOWATTHOUR "千瓦时"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "勒克斯"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "微克/立方米"
#define D_UNIT_MICROMETER "微米"

View File

@ -191,6 +191,7 @@
#define D_UV_POWER "紫外線能量"
#define D_VERSION "版本"
#define D_VOLTAGE "電壓"
#define D_VOLUME "Volume"
#define D_WEIGHT "重量"
#define D_WARMLIGHT "暖光"
#define D_WEB_SERVER "網頁伺服器"
@ -745,6 +746,8 @@
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
#define D_UNIT_KILOOHM "千歐姆"
#define D_UNIT_KILOWATTHOUR "千瓦小時"
#define D_UNIT_LITERS "L"
#define D_UNIT_LITERS_PER_MIN "L/m"
#define D_UNIT_LUX "lux"
#define D_UNIT_MICROGRAM_PER_CUBIC_METER "微克/立方公尺"
#define D_UNIT_MICROMETER "微米"

View File

@ -570,6 +570,7 @@
// #define USE_EZOCO2 // [I2cDriver55] Enable support for EZO's CO2 sensor (+0k2 code) - Shared EZO code required for any EZO device (+1k2 code)
// #define USE_EZOO2 // [I2cDriver55] Enable support for EZO's O2 sensor (+0k3 code) - Shared EZO code required for any EZO device (+1k2 code)
// #define USE_EZOPRS // [I2cDriver55] Enable support for EZO's PRS sensor (+0k7 code) - Shared EZO code required for any EZO device (+1k2 code)
// #define USE_EZOFLO // [I2cDriver55] Enable support for EZO's FLO sensor (+0k4 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

View File

@ -135,6 +135,7 @@
//#define USE_EZOCO2 // [I2cDriver55] Enable support for EZO's CO2 sensor (+0k2 code) - Shared EZO code required for any EZO device (+1k2 code)
//#define USE_EZOO2 // [I2cDriver55] Enable support for EZO's O2 sensor (+0k3 code) - Shared EZO code required for any EZO device (+1k2 code)
//#define USE_EZOPRS // [I2cDriver55] Enable support for EZO's PRS sensor (+0k7 code) - Shared EZO code required for any EZO device (+1k2 code)
//#define USE_EZOFLO // [I2cDriver55] Enable support for EZO's FLO sensor (+0k4 code) - Shared EZO code required for any EZO device (+1k2 code)
#define USE_MHZ19 // Add support for MH-Z19 CO2 sensor (+2k code)
#define USE_SENSEAIR // Add support for SenseAir K30, K70 and S8 CO2 sensor (+2k3 code)

View File

@ -18,7 +18,7 @@
*/
#ifdef USE_I2C
#if defined(USE_EZOPH) || defined(USE_EZOORP) || defined(USE_EZORTD) || defined(USE_EZOHUM) || defined(USE_EZOEC) || defined(USE_EZOCO2) || defined(USE_EZOO2) || defined(USE_EZOPRS)
#if defined(USE_EZOPH) || defined(USE_EZOORP) || defined(USE_EZORTD) || defined(USE_EZOHUM) || defined(USE_EZOEC) || defined(USE_EZOCO2) || defined(USE_EZOO2) || defined(USE_EZOPRS) || defined(USE_EZOFLO)
#define USE_EZO
#endif
#if defined(USE_EZO)

View File

@ -0,0 +1,81 @@
/*
xsns_78_ezoflo.ino - EZO FLO I2C FLO 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 <http://www.gnu.org/licenses/>.
*/
#ifdef USE_I2C
#ifdef USE_EZOFLO
#define EZO_FLO_READ_LATENCY 300
struct EZOFLO : public EZOStruct {
EZOFLO(uint32_t addr) : EZOStruct(addr), totalVolume(NAN), flowRate(NAN) {}
virtual void ProcessMeasurement(void)
{
char data[D_EZO_MAX_BUF];
// Total Volume, Flow Rate
EZOStruct::ProcessMeasurement(data, sizeof(data), EZO_FLO_READ_LATENCY);
totalVolume = CharToFloat(data);
char *next = strchr(data, ',');
if (next) {
flowRate = CharToFloat(next + 1);
}
}
virtual void Show(bool json, const char *name)
{
char volume[FLOATSZ];
char rate[FLOATSZ];
bool hasFlow = !isnan(flowRate);
dtostrfd(totalVolume, 2, volume);
dtostrfd(flowRate, 2, rate);
if (json) {
ResponseAppend_P(PSTR(",\"%s\":{\"" D_JSON_VOLUME "\":%s"), name, volume);
if (hasFlow) {
ResponseAppend_P(PSTR(",\"" D_JSON_FLOWRATE "\":%s"), name, rate);
}
ResponseJsonEnd();
#ifdef USE_WEBSERVER
} else {
WSContentSend_PD(HTTP_SNS_LITERS, name, volume);
if (hasFlow) {
WSContentSend_PD(HTTP_SNS_LPM, name, rate);
}
#endif
}
}
static const char id[] PROGMEM;
private:
float totalVolume;
float flowRate;
};
const char EZOFLO::id[] PROGMEM = "FLO";
#endif // USE_EZOFLO
#endif // USE_I2C

View File

@ -74,7 +74,11 @@ const char *const EZOSupport[EZO_ADDR_n] PROGMEM = {
EZOStruct::id,
#endif
EZOStruct::id, // "PMP"
EZOStruct::id, // "FLO"
#ifdef USE_EZOFLO
EZOFLO::id,
#else
EZOStruct::id,
#endif
#ifdef USE_EZOCO2
EZOCO2::id,
#else
@ -242,6 +246,9 @@ private:
#ifdef USE_EZORTD
CREATE_EZO_CLASS(RTD)
#endif
#ifdef USE_EZOFLO
CREATE_EZO_CLASS(FLO)
#endif
#ifdef USE_EZOCO2
CREATE_EZO_CLASS(CO2)
#endif