diff --git a/tasmota/language/bg_BG.h b/tasmota/language/bg_BG.h index ca4afb0bc..f0ff9b818 100644 --- a/tasmota/language/bg_BG.h +++ b/tasmota/language/bg_BG.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "Нулиране OLED" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/cs_CZ.h b/tasmota/language/cs_CZ.h index b07d032e7..f85fc4439 100644 --- a/tasmota/language/cs_CZ.h +++ b/tasmota/language/cs_CZ.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/de_DE.h b/tasmota/language/de_DE.h index 3517251be..05d72f4db 100644 --- a/tasmota/language/de_DE.h +++ b/tasmota/language/de_DE.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/el_GR.h b/tasmota/language/el_GR.h index 8eaff86f0..ea2db9c98 100644 --- a/tasmota/language/el_GR.h +++ b/tasmota/language/el_GR.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/en_GB.h b/tasmota/language/en_GB.h index 1ae054f0e..9a79758d8 100644 --- a/tasmota/language/en_GB.h +++ b/tasmota/language/en_GB.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/es_ES.h b/tasmota/language/es_ES.h index 04116ea2a..02f41e118 100644 --- a/tasmota/language/es_ES.h +++ b/tasmota/language/es_ES.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/fr_FR.h b/tasmota/language/fr_FR.h index 8aea1b4cc..05bbf565e 100644 --- a/tasmota/language/fr_FR.h +++ b/tasmota/language/fr_FR.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee TX" #define D_SENSOR_ZIGBEE_RXD "Zigbee RX" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 TX" #define D_SENSOR_SOLAXX1_RX "SolaxX1 RX" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/he_HE.h b/tasmota/language/he_HE.h index f7a721739..2db6b36ab 100644 --- a/tasmota/language/he_HE.h +++ b/tasmota/language/he_HE.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/hu_HU.h b/tasmota/language/hu_HU.h index f521c06fd..917d2a155 100644 --- a/tasmota/language/hu_HU.h +++ b/tasmota/language/hu_HU.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/it_IT.h b/tasmota/language/it_IT.h index dcc53fd68..4f74a9477 100644 --- a/tasmota/language/it_IT.h +++ b/tasmota/language/it_IT.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "Ripristino OLED" #define D_SENSOR_ZIGBEE_TXD "Zigbee - TX" #define D_SENSOR_ZIGBEE_RXD "Zigbee - RX" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 - TX" #define D_SENSOR_SOLAXX1_RX "SolaxX1- RX" #define D_SENSOR_IBEACON_TX "iBeacon - TX" diff --git a/tasmota/language/ko_KO.h b/tasmota/language/ko_KO.h index d635d1d65..61c9ba720 100644 --- a/tasmota/language/ko_KO.h +++ b/tasmota/language/ko_KO.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/nl_NL.h b/tasmota/language/nl_NL.h index b024dc538..139bf4837 100644 --- a/tasmota/language/nl_NL.h +++ b/tasmota/language/nl_NL.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/pl_PL.h b/tasmota/language/pl_PL.h index 0ecea1a77..c31dc569a 100644 --- a/tasmota/language/pl_PL.h +++ b/tasmota/language/pl_PL.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/pt_BR.h b/tasmota/language/pt_BR.h index be5d98464..dcb308ae9 100644 --- a/tasmota/language/pt_BR.h +++ b/tasmota/language/pt_BR.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/pt_PT.h b/tasmota/language/pt_PT.h index c489327a7..a34d0e1d1 100644 --- a/tasmota/language/pt_PT.h +++ b/tasmota/language/pt_PT.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/ro_RO.h b/tasmota/language/ro_RO.h index 23f160f19..fa01b1705 100644 --- a/tasmota/language/ro_RO.h +++ b/tasmota/language/ro_RO.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/ru_RU.h b/tasmota/language/ru_RU.h index b033ebcd1..3079c00ac 100644 --- a/tasmota/language/ru_RU.h +++ b/tasmota/language/ru_RU.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/sk_SK.h b/tasmota/language/sk_SK.h index 9e5cc35e0..09402307c 100644 --- a/tasmota/language/sk_SK.h +++ b/tasmota/language/sk_SK.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/sv_SE.h b/tasmota/language/sv_SE.h index ac416e9b5..c6b3ef835 100644 --- a/tasmota/language/sv_SE.h +++ b/tasmota/language/sv_SE.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/tr_TR.h b/tasmota/language/tr_TR.h index f402cf803..010228272 100644 --- a/tasmota/language/tr_TR.h +++ b/tasmota/language/tr_TR.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/uk_UA.h b/tasmota/language/uk_UA.h index 97cd77f91..1f8bb46b1 100644 --- a/tasmota/language/uk_UA.h +++ b/tasmota/language/uk_UA.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/zh_CN.h b/tasmota/language/zh_CN.h index 10f609c64..7b925abc6 100644 --- a/tasmota/language/zh_CN.h +++ b/tasmota/language/zh_CN.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/language/zh_TW.h b/tasmota/language/zh_TW.h index 4c52eef18..6031e82a8 100644 --- a/tasmota/language/zh_TW.h +++ b/tasmota/language/zh_TW.h @@ -647,6 +647,7 @@ #define D_SENSOR_OLED_RESET "OLED Reset" #define D_SENSOR_ZIGBEE_TXD "Zigbee Tx" #define D_SENSOR_ZIGBEE_RXD "Zigbee Rx" +#define D_SENSOR_ZIGBEE_RST "Zigbee Rst" #define D_SENSOR_SOLAXX1_TX "SolaxX1 Tx" #define D_SENSOR_SOLAXX1_RX "SolaxX1 Rx" #define D_SENSOR_IBEACON_TX "iBeacon TX" diff --git a/tasmota/tasmota_template.h b/tasmota/tasmota_template.h index 25adf6b62..2247372d1 100644 --- a/tasmota/tasmota_template.h +++ b/tasmota/tasmota_template.h @@ -241,6 +241,7 @@ enum UserSelectablePins { GPIO_LMT01, // LMT01 input counting pin GPIO_IEM3000_TX, // IEM3000 Serial interface GPIO_IEM3000_RX, // IEM3000 Serial interface + GPIO_ZIGBEE_RST, // Zigbee reset GPIO_SENSOR_END }; // Programmer selectable GPIO functionality @@ -335,7 +336,8 @@ const char kSensorNames[] PROGMEM = D_SENSOR_TCP_TXD "|" D_SENSOR_TCP_RXD "|" D_SENSOR_TELEINFO_RX "|" D_SENSOR_TELEINFO_ENABLE "|" D_SENSOR_LMT01_PULSE "|" - D_SENSOR_IEM3000_TX "|" D_SENSOR_IEM3000_RX + D_SENSOR_IEM3000_TX "|" D_SENSOR_IEM3000_RX "|" + D_SENSOR_ZIGBEE_RST ; const char kSensorNamesFixed[] PROGMEM = @@ -605,6 +607,7 @@ const uint8_t kGpioNiceList[] PROGMEM = { #ifdef USE_ZIGBEE GPIO_ZIGBEE_TX, // Zigbee Serial interface GPIO_ZIGBEE_RX, // Zigbee Serial interface + GPIO_ZIGBEE_RST, // Zigbee reset #endif #ifdef USE_MHZ19 GPIO_MHZ_TXD, // MH-Z19 Serial interface diff --git a/tasmota/tasmota_template_ESP32.h b/tasmota/tasmota_template_ESP32.h index bb1574a77..ddd13d87b 100644 --- a/tasmota/tasmota_template_ESP32.h +++ b/tasmota/tasmota_template_ESP32.h @@ -138,6 +138,7 @@ enum UserSelectablePins { GPIO_TELEINFO_ENABLE, // Teleinfo Enable Receive Pin GPIO_LMT01, // LMT01 input counting pin GPIO_IEM3000_TX, GPIO_IEM3000_RX, // IEM3000 Serial interface + GPIO_ZIGBEE_RST, // Zigbee reset GPIO_SENSOR_END }; enum ProgramSelectablePins { @@ -235,7 +236,8 @@ const char kSensorNames[] PROGMEM = D_SENSOR_ETH_PHY_POWER "|" D_SENSOR_ETH_PHY_MDC "|" D_SENSOR_ETH_PHY_MDIO "|" D_SENSOR_TELEINFO_RX "|" D_SENSOR_TELEINFO_ENABLE "|" D_SENSOR_LMT01_PULSE "|" - D_SENSOR_IEM3000_TX "|" D_SENSOR_IEM3000_RX + D_SENSOR_IEM3000_TX "|" D_SENSOR_IEM3000_RX "|" + D_SENSOR_ZIGBEE_RST ; const char kSensorNamesFixed[] PROGMEM = @@ -451,6 +453,7 @@ const uint16_t kGpioNiceList[] PROGMEM = { #ifdef USE_ZIGBEE AGPIO(GPIO_ZIGBEE_TX), // Zigbee Serial interface AGPIO(GPIO_ZIGBEE_RX), // Zigbee Serial interface + AGPIO(GPIO_ZIGBEE_RST), // Zigbee reset #endif #ifdef USE_MHZ19 AGPIO(GPIO_MHZ_TXD), // MH-Z19 Serial interface diff --git a/tasmota/xdrv_23_zigbee_9_serial.ino b/tasmota/xdrv_23_zigbee_9_serial.ino index c4f214bcd..34555441f 100644 --- a/tasmota/xdrv_23_zigbee_9_serial.ino +++ b/tasmota/xdrv_23_zigbee_9_serial.ino @@ -292,6 +292,12 @@ void ZigbeeInitSerial(void) zigbee_buffer = new SBuffer(ZIGBEE_BUFFER_SIZE); // AddLog_P2(LOG_LEVEL_INFO, PSTR("ZigbeeInit Mem3 = %d"), ESP_getFreeHeap()); } + + if (PinUsed(GPIO_ZIGBEE_RST)) { + pinMode(Pin(GPIO_ZIGBEE_RST), OUTPUT); + digitalWrite(Pin(GPIO_ZIGBEE_RST), 1); + } + zigbee.active = true; zigbee.init_phase = true; // start the state machine zigbee.state_machine = true; // start the state machine