Problem with Ra-02 and SX1278 getting buttons to work!

Hi all:
I’m looking for some help with getting button input to work with the Ra-02. It sounds really simple, but it’s been driving me crazy.
A bit of background:
I want to use the Ra-o2 to control an off/on relay. Really simple. I’ve done this with NRF24L01 with no problem. works great.
Now that I want to adapt it to work with the Ra-02. One button turns it on, one button turns it off. (or better yet one button to do both).
I started with an example program that turns on and off an LED using input from the keyboard. Here it is:

TX

#include <SPI.h>
#include <LoRa.h>

String InputString;

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("LoRa Sender");

  if (!LoRa.begin(433E6)) { //use (915E6) for LoRa Ra-02 915 MHz
    Serial.println("Starting LoRa failed!");
    while (1);
  }
  //LoRa.setSpreadingFactor(10);
  //LoRa.setSignalBandwidth(62.5E3);
  //LoRa.crc();
}

void loop() {
  while (Serial.available()) {
    InputString = Serial.readString();
    LoRa.beginPacket();
    LoRa.print(InputString);
    LoRa.endPacket();
    Serial.print("Lora Send : ");
    Serial.println(InputString);
  }
}

pretty straight forward. Here’s the Receiving end:

#include <SPI.h>
#include <LoRa.h>

int Led = 3;
String inputString = "";         // a String to hold incoming data
boolean stringComplete = false;  // whether the string is complete

void setup() {
  pinMode(Led, OUTPUT);
  Serial.begin(9600);
  while (!Serial);

  Serial.println("LoRa Receiver");

  if (!LoRa.begin(433E6)) { //use (915E6) for LoRa Ra-02 915 MHz
    Serial.println("Starting LoRa failed!");
    while (1);
  }
  
}

void loop() {
  serialEvent();
  if (stringComplete) {
    Serial.println(inputString);
    if (inputString=="On\n"){
      digitalWrite(Led, HIGH);
      //LoRa.beginPacket();
      //LoRa.print("On\n");
      //Serial.print("On");
      //LoRa.endPacket();
    }
    else if (inputString=="Off\n"){
      digitalWrite(Led, LOW);
    }
    // clear the string:
    inputString = "";
    stringComplete = false;
  } 
}

void serialEvent() {
  // try to parse packet
  int packetSize = LoRa.parsePacket();
  if (packetSize) {
    // received a packet
    //Serial.print("Received packet = ");

    // read packet
    while (LoRa.available()) {
      // get the new byte:
      char inChar = (char)LoRa.read();
      // add it to the inputString:
      inputString += inChar;
      // if the incoming character is a newline, set a flag so the main loop can
      // do something about it:
      if (inChar == '\n') {
        stringComplete = true;
      }
    }

    // print RSSI of packet
    //Serial.print("' with RSSI ");
    //Serial.println(LoRa.packetRssi());
  }
}

Works fine. So I went about trying to replace the keyboard input with buttons. Here’s what I came up with for the TX:

#include <SPI.h>
#include <LoRa.h>

int DataMsg[1];

String InputString;



int Button1 = 3;
int Button2 = 4;

int On;
 

void setup()
{
  Serial.begin(9600);
  while (!Serial);

Serial.println("LoRa Sender");
 if (!LoRa.begin(433E6)) { //use (915E6) for LoRa Ra-02 915 MHz
    LoRa.println("Starting LoRa failed!");
    while (1);

  
}
  //ativa pull-up
  pinMode(3, INPUT);
  digitalWrite(3,HIGH);
  pinMode(4, INPUT);
  digitalWrite(4,HIGH);

  Serial.begin(9600);
 
 
}

void loop()
{
    {
    InputString = Serial.readString();
  
  if (digitalRead(Button1) == LOW)
  {
   
    Serial.println("Button 1 pressed");
     LoRa.beginPacket();
    LoRa.print(On);
    LoRa.endPacket();
 Serial.println("On");
  }
  if (digitalRead(Button2) == LOW)
  {
    Serial.println("Button 2 pressed");
    LoRa.beginPacket();
    LoRa.print("On");
    LoRa.endPacket();
      Serial.println("Off");
  }
}
}

the buttons work fine. But I don’t seem to be transmitting a coherent signal to the receiver. So what am I doing wrong???

Thanks for the help.
Jeff

In which way is this problem, different to the previous problem that was still active yesterday ?