diff --git a/tasmota/language/bg_BG.h b/tasmota/language/bg_BG.h index 167a5315b..459031962 100644 --- a/tasmota/language/bg_BG.h +++ b/tasmota/language/bg_BG.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/cs_CZ.h b/tasmota/language/cs_CZ.h index b4f3251fb..d87650ec9 100644 --- a/tasmota/language/cs_CZ.h +++ b/tasmota/language/cs_CZ.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/de_DE.h b/tasmota/language/de_DE.h index 241bb8a8f..9e25dfdaa 100644 --- a/tasmota/language/de_DE.h +++ b/tasmota/language/de_DE.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/el_GR.h b/tasmota/language/el_GR.h index 024466885..9dbaf45f5 100644 --- a/tasmota/language/el_GR.h +++ b/tasmota/language/el_GR.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/en_GB.h b/tasmota/language/en_GB.h index 64969eca8..7a9b45b43 100644 --- a/tasmota/language/en_GB.h +++ b/tasmota/language/en_GB.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/es_ES.h b/tasmota/language/es_ES.h index fc0be8df1..81e2248b4 100644 --- a/tasmota/language/es_ES.h +++ b/tasmota/language/es_ES.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/fr_FR.h b/tasmota/language/fr_FR.h index e6e086509..85b9648b8 100644 --- a/tasmota/language/fr_FR.h +++ b/tasmota/language/fr_FR.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/he_HE.h b/tasmota/language/he_HE.h index a241a074a..fb073ee3a 100644 --- a/tasmota/language/he_HE.h +++ b/tasmota/language/he_HE.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/hu_HU.h b/tasmota/language/hu_HU.h index ecc93125d..2171d2fba 100644 --- a/tasmota/language/hu_HU.h +++ b/tasmota/language/hu_HU.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/it_IT.h b/tasmota/language/it_IT.h index d25ff5e94..066370728 100644 --- a/tasmota/language/it_IT.h +++ b/tasmota/language/it_IT.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 - GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 - GDO2" #define D_SENSOR_HRXL_RX "HRXL - RX" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL - TX" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "Velocità vento" diff --git a/tasmota/language/ko_KO.h b/tasmota/language/ko_KO.h index e554c1d01..94b4de66f 100644 --- a/tasmota/language/ko_KO.h +++ b/tasmota/language/ko_KO.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/nl_NL.h b/tasmota/language/nl_NL.h index d4ad9e0ea..7f49f0f5f 100644 --- a/tasmota/language/nl_NL.h +++ b/tasmota/language/nl_NL.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/pl_PL.h b/tasmota/language/pl_PL.h index 36f751d86..f67fdefcc 100644 --- a/tasmota/language/pl_PL.h +++ b/tasmota/language/pl_PL.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/pt_BR.h b/tasmota/language/pt_BR.h index 85e3707de..3d669b19a 100644 --- a/tasmota/language/pt_BR.h +++ b/tasmota/language/pt_BR.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/pt_PT.h b/tasmota/language/pt_PT.h index 131e6f72d..7dbfe4858 100644 --- a/tasmota/language/pt_PT.h +++ b/tasmota/language/pt_PT.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/ro_RO.h b/tasmota/language/ro_RO.h index 366288e21..cbfd882b2 100644 --- a/tasmota/language/ro_RO.h +++ b/tasmota/language/ro_RO.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/ru_RU.h b/tasmota/language/ru_RU.h index 4f61ccf85..eae73b248 100644 --- a/tasmota/language/ru_RU.h +++ b/tasmota/language/ru_RU.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/sk_SK.h b/tasmota/language/sk_SK.h index 459e18f53..32deed082 100644 --- a/tasmota/language/sk_SK.h +++ b/tasmota/language/sk_SK.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/sv_SE.h b/tasmota/language/sv_SE.h index 2b41cd231..e335a856b 100644 --- a/tasmota/language/sv_SE.h +++ b/tasmota/language/sv_SE.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/tr_TR.h b/tasmota/language/tr_TR.h index db9774276..1582c21c0 100644 --- a/tasmota/language/tr_TR.h +++ b/tasmota/language/tr_TR.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/uk_UA.h b/tasmota/language/uk_UA.h index e55a92a28..5d0560e4e 100644 --- a/tasmota/language/uk_UA.h +++ b/tasmota/language/uk_UA.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/zh_CN.h b/tasmota/language/zh_CN.h index 26c534009..560d804a8 100644 --- a/tasmota/language/zh_CN.h +++ b/tasmota/language/zh_CN.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/zh_TW.h b/tasmota/language/zh_TW.h index e92e68ad2..3f1dfa7ba 100644 --- a/tasmota/language/zh_TW.h +++ b/tasmota/language/zh_TW.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/my_user_config.h b/tasmota/my_user_config.h index 030d21b63..e532e93de 100644 --- a/tasmota/my_user_config.h +++ b/tasmota/my_user_config.h @@ -619,6 +619,7 @@ // #define USE_FLOG // Add support for GPS logging in OTA's Flash (Experimental) (+2k9 code, +8 bytes RAM) //#define USE_HM10 // (ESP8266 only) Add support for HM-10 as a BLE-bridge (+9k3 code) //#define USE_HRXL // Add support for MaxBotix HRXL-MaxSonar ultrasonic range finders (+0k7) +//#define USE_DYP // Add support for DYP ME-007 ultrasonic distance sensor, serial port version (+0k5 code) //#define USE_TASMOTA_CLIENT // Add support for Arduino Uno/Pro Mini via serial interface including flashing (+2k6 code, 64 mem) #define USE_TASMOTA_CLIENT_FLASH_SPEED 57600 // Usually 57600 for 3.3V variants and 115200 for 5V variants #define USE_TASMOTA_CLIENT_SERIAL_SPEED 57600 // Depends on the sketch that is running on the Uno/Pro Mini diff --git a/tasmota/tasmota_template.h b/tasmota/tasmota_template.h index 1c38f0420..c53cf4709 100644 --- a/tasmota/tasmota_template.h +++ b/tasmota/tasmota_template.h @@ -242,6 +242,7 @@ enum UserSelectablePins { GPIO_IEM3000_TX, // IEM3000 Serial interface GPIO_IEM3000_RX, // IEM3000 Serial interface GPIO_ZIGBEE_RST, // Zigbee reset + GPIO_DYP_RX, GPIO_SENSOR_END }; // Programmer selectable GPIO functionality @@ -337,7 +338,8 @@ const char kSensorNames[] PROGMEM = D_SENSOR_TELEINFO_RX "|" D_SENSOR_TELEINFO_ENABLE "|" D_SENSOR_LMT01_PULSE "|" D_SENSOR_IEM3000_TX "|" D_SENSOR_IEM3000_RX "|" - D_SENSOR_ZIGBEE_RST + D_SENSOR_ZIGBEE_RST "|" + D_SENSOR_DYP_RX ; const char kSensorNamesFixed[] PROGMEM = @@ -704,6 +706,9 @@ const uint8_t kGpioNiceList[] PROGMEM = { #ifdef USE_HRXL GPIO_HRXL_RX, #endif +#ifdef USE_DYP + GPIO_DYP_RX, +#endif #ifdef USE_AS3935 GPIO_AS3935, #endif diff --git a/tasmota/tasmota_template_ESP32.h b/tasmota/tasmota_template_ESP32.h index 858cc14d3..698862f15 100644 --- a/tasmota/tasmota_template_ESP32.h +++ b/tasmota/tasmota_template_ESP32.h @@ -138,6 +138,7 @@ enum UserSelectablePins { GPIO_LMT01, // LMT01 input counting pin GPIO_IEM3000_TX, GPIO_IEM3000_RX, // IEM3000 Serial interface GPIO_ZIGBEE_RST, // Zigbee reset + GPIO_DYP_RX, GPIO_SENSOR_END }; enum ProgramSelectablePins { @@ -238,7 +239,8 @@ const char kSensorNames[] PROGMEM = D_SENSOR_TELEINFO_RX "|" D_SENSOR_TELEINFO_ENABLE "|" D_SENSOR_LMT01_PULSE "|" D_SENSOR_IEM3000_TX "|" D_SENSOR_IEM3000_RX "|" - D_SENSOR_ZIGBEE_RST + D_SENSOR_ZIGBEE_RST "|" + D_SENSOR_DYP_RX ; const char kSensorNamesFixed[] PROGMEM = @@ -551,6 +553,9 @@ const uint16_t kGpioNiceList[] PROGMEM = { #ifdef USE_HRXL AGPIO(GPIO_HRXL_RX), #endif +#ifdef USE_DYP + AGPIO(GPIO_DYP_RX), +#endif #ifdef USE_AS3935 AGPIO(GPIO_AS3935), #endif diff --git a/tasmota/xsns_76_dyp.ino b/tasmota/xsns_76_dyp.ino new file mode 100644 index 000000000..e068b67e8 --- /dev/null +++ b/tasmota/xsns_76_dyp.ino @@ -0,0 +1,157 @@ +/* + xsns_76_dyp.ino - DYP ME007 serial interface + + Copyright (C) 2020 Janusz Kostorz + + This program is free software: you can reDYPDistanceribute 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 DYPDistanceributed 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_DYP + +/*********************************************************************************************\ + * DYP ME007 ultrasonic distanceance sensor (300...4000mm), serial version + * + * Every one second code check last received value from sensor via serial port and return: + * -1 for checksum error + * 0 for distance below 300mm + * 300...4000 for measured distance + * 4999 for distance above 4000mm + * 5999 for not connected sensor + * +\*********************************************************************************************/ + +#define XSNS_76 76 + +#include + +TasmotaSerial *DYPSerial = nullptr; + +#define DYP_CRCERROR -1 +#define DYP_BELOWMIN 0 +#define DYP_MIN 300 +#define DYP_MAX 4000 +#define DYP_ABOVEMAX 4999 +#define DYP_NOSENSOR 5999 + +uint16_t DYPDistance = 0; // distance in milimeters +bool DYPSensor = false; // sensor available + +/*********************************************************************************************/ + +void DYPInit(void) +{ + DYPSensor = false; + if (PinUsed(GPIO_DYP_RX)) + { + DYPSerial = new TasmotaSerial(Pin(GPIO_DYP_RX), -1, 1); + if (DYPSerial->begin(9600)) + { + if (DYPSerial->hardwareSerial()) + ClaimSerial(); + DYPSensor = true; + } + } +} + +void DYPEverySecond(void) +{ + if (!DYPSensor) + return; + + // check for serial data + if (DYPSerial->available() < 6) + { + DYPDistance = DYP_NOSENSOR; + return; + } + + // trash old data (only 7 last bytes are needed for calculate distance) + while (DYPSerial->available() > 7) + DYPSerial->read(); + + + // read data from serial port - * 0xFF MSB LSB CRC * + while (DYPSerial->available() > 3) + { + // check for start byte signature + if (DYPSerial->read() != 0xFF) + continue; + + // check for data bytes + if (DYPSerial->available() > 2) + { + uint8_t msb = DYPSerial->read(); + uint8_t lsb = DYPSerial->read(); + if (((uint16_t)(0xFF + msb + lsb) & 0xFF) == DYPSerial->read()) { + uint16_t data = (msb << 8) | lsb; + if (data < DYP_MIN) + data = DYP_BELOWMIN; + if (data > DYP_MAX) + data = DYP_ABOVEMAX; + DYPDistance = data; + } + else { + DYPDistance = DYP_CRCERROR; + } + } + } + + +} + +void DYPShow(bool json) +{ + char types[5] = "DYP"; + if (json) + { + ResponseAppend_P(PSTR(",\"%s\":{\"" D_DISTANCE "\":%d}"), types, DYPDistance); + #ifdef USE_WEBSERVER + } + else + { + WSContentSend_PD(HTTP_SNS_RANGE, types, DYPDistance); + #endif // USE_WEBSERVER + } +} + +/*********************************************************************************************\ + * Interface +\*********************************************************************************************/ + +bool Xsns76(uint8_t function) +{ + if (!PinUsed(GPIO_DYP_RX)) + return false; + + switch (function) + { + case FUNC_INIT: + DYPInit(); + break; + case FUNC_EVERY_SECOND: + DYPEverySecond(); + break; + case FUNC_JSON_APPEND: + DYPShow(1); + break; + #ifdef USE_WEBSERVER + case FUNC_WEB_SENSOR: + DYPShow(0); + break; + #endif // USE_WEBSERVER + } + return false; +} + +#endif // USE_DYP