ESP8266 WiFi Relais bleibt nicht an

Hallo zusammen,
Ich habe hier so ein Relais.

Das steuere ich über WLan.

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>

const char* ssid = "**********";
const char* password = "**********";

byte relON[] = {0xA0, 0x01, 0x01, 0xA2};  // Hex command to send to serial for open relay
byte relOFF[] = {0xA0, 0x01, 0x00, 0xA1}; // Hex command to send to serial for close relay

ESP8266WebServer server(80);   //instantiate server at port 80 (http port)

String page = "";

void setup(void){
  //the HTML of the web page
  page = "<h1>Simple NodeMCU Web Server</h1><p><a href=\"RelOn\"><button>ON</button></a>&nbsp;<a href=\"RelOff\"><button>OFF</button></a></p>";
   
  delay(1000);
  Serial.begin(9600);
  WiFi.begin(ssid, password); //begin WiFi connection
  Serial.println("");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
   
  server.on("/", []() {
    server.send(200, "text/html", page);
  });
  server.on("/RelOn", [](){
    server.send(200, "text/html", page);
    Serial.write(relON, sizeof(relON));
    delay(1000);
  });
  server.on("/RelOff", []() {
    server.send(200, "text/html", page);
    Serial.write(relOFF, sizeof(relOFF));
  });
  server.begin();
  Serial.println("Web server started!");
}
 
void loop(void){
  server.handleClient();
}

funktioniert vom Browser aus super.
Leider wird der Status nicht gehalten. Das Relais geht nach 1-2 Sek immer wieder off.
Hier wird halt nicht über GPIO geschaltet, sondern über die AT Kommandos des ESP
Kennt jemand das Phänomen? Gibt es irgendwie einen Workaround, damit das Relais an bleibt?

Gruß
Fred