           udppayload += buf;
           udppayload += "000000";
           sendUdpmsg(udppayload);
-        }
-      }
-
-      if ((millis() - startMills) > REPORT_INTERVAL )
-      {
+        } else if ( pipeNo == 3 && sensor_data.devid == 25 ) {
+          radio.writeAckPayload(pipeNo, &data_ackpayload, sizeof(data_ackpayload));
+        }
+      }
+
+      if ((millis() - startMills) > REPORT_INTERVAL ) {
         sendmqttMsg(topic, payload);
 
         sensors.requestTemperatures();

        sendmqttMsg(rslttopic, lightpayload);
        relayIsReady = HIGH;

      } else if ((relayIsReady == LOW ) &&  (( millis() - lastRelayActionmillis) > BETWEEN_RELAY_ACTIVE ) && ( relaystatus == oldrelaystatus ))
      {

        if (INFO_PRINT) {
          syslogPayload = "after BETWEEN_RELAY_ACTIVE => relaystatus => ";

  //
  lastReconnectAttempt = 0;
  millisnow = 0;

  time_ackpayload.timestamp = data_ackpayload.timestamp = data_ackpayload.data1 = data_ackpayload.data2 = 0;

  getResetInfo = "hello from ESP8266 s02 ";
  getResetInfo += ESP.getResetInfo().substring(0, 30);
