2 structs interfearing

Hello, i am making a program to control some lights with a touch screen.
the lights will be dimable an have RGB channels.
so i have made a struct for every light.
but i have trouble with using the 2 structs at once.

i can only toggle the light of the struct i used first in the code.
if i was to put 'LightKitchen_Struct LightKitchen;' above the other, that woold be the one i can toggle.
But why is this so? they are put in 2 diferent variables .. so i don't understand the problem.

/* V0.3 Arduino router program for home automation for E-nest
 *
 * Changes by Manu Roelants: Voor arduino UNO, Met het nextion display aangesloten, 2leds, NRF24Lo1 module
 *
 * Changes by Ward Van Heesveld: /
*/

//Include Variable files
#include "MasterVariables.h"  //include the master variables
#include "NextionVariables.h" //include the nextion input varibles
#include "NRF24L01Adresses.h" //include the adresses of all wirelles Nodes
#include "nrf24L01Variables.h" //include the variables of all wirelles Nodes
#include "NextionDataToMasterData.h";

//include-setup Nextion Librairies
#include "Nextion.h"  //use nextion librairy
#define nextion Serial //=define that the nextion displat is conected to the serial1 port
Nextion myNextion(nextion, 9600); //create a Nextion object named myNextion using the nextion serial port @ 9600bps
String NextionIncomming;

//include-setup NRF24Lo1 Librairies
#include <RF24Network.h>
#include <RF24.h>
#define CE_PIN 9
#define CSN_PIN 10
RF24 radio(CE_PIN,CSN_PIN);
RF24Network network(radio);          // Network uses that radio


void setup()
{
  //Nextion Startup
  Serial.begin(9600); //Hardware serial starten (9200 baud)
  myNextion.init();

  //NRF24L01 startup
  SPI.begin();
  radio.begin();
  network.begin(/*channel*/ 90, /*node address*/ this_node);

  //IO startup
  pinMode(14, OUTPUT);
  pinMode(15, OUTPUT);
  pinMode(16, OUTPUT);

}


void loop()
{
  network.update();       // Check the network regularly
  NewDataCheckNextion();  //Check for incomming data from nextion display
  NewDataCheckESP8266();  //Check for incomming data from ESP8266
  NewDataCheckNRF24L01();  //Check for incomming data from NRF24L01
}



void NewDataCheckNextion()
{
  //Check incomming data from nextion
  NextionIncomming = myNextion.listen();      //put available data from serial buffer in NextionIncomming
  if (NextionIncomming != "")                 // if a message is received...
  {
    NextionDataToMasterData();
    NextionIncomming = "";
  }
}



void NewDataCheckESP8266()
{
  /* code not yet applied */
}



void NewDataCheckNRF24L01()
{
  /* code not yet applied */
}




void NextionDataToMasterData()
{

  LightLiving_Struct LightLiving;
  LightKitchen_Struct LightKitchen;
  
  if (NextionIncomming == LightKitchen.NextionAdress)
  {
    if (LightKitchen.Dim == B00000000) //is the light of?
      {
        LightKitchen.Dim = B11111111;
        digitalWrite(14, HIGH);
      }
     else
      {
        LightKitchen.Dim = B00000000;
        digitalWrite(14, LOW);
      }
  }

  
  if (NextionIncomming == LightLiving.NextionAdress)
  {
    if (LightLiving.Dim == B00000000) //is the light off?
      {
        LightLiving.Dim = B11111111;
        digitalWrite(15, HIGH);
      }
    else 
      {
        LightLiving.Dim = B00000000;
        digitalWrite(15, LOW);
      }
}

}

Here is the code of the structs

struct LightKitchen_Struct{ //LightKitchen
  byte Dim; //intensity of light
  byte R; //amount of R channel
  byte G; //amount of G channel
  byte B; //amount of B channel
  String NextionAdress = "65 0 2 1 ffff ffff ffff";
};

struct LightLiving_Struct{ //LightLiving
  byte Dim; //intensity of light
  byte R; //amount of R channel
  byte G; //amount of G channel
  byte B; //amount of B channel
  String NextionAdress = "65 0 3 1 ffff ffff ffff";
};

You didn't post all the code so we have no idea. At first glance I see nothing weird here.

If you only post snippets of your code, you are likely to get only snippets of an answer.

You should read up on Local/Global variables/objects.

added: and tell us if those two objects are either global or local...

thanks for the reply,

Well i know that i have out the structs in a variable localy (in that void).
but i didn't think it be a problem, because it only needs to read, and write to those structs in that void.

ManuR:
thanks for the reply,

Well i know that i have out the structs in a variable localy (in that void).
but i didn't think it be a problem, because it only needs to read, and write to those structs in that void.

to be persistent, you would need to use the static keyword...

  static LightLiving_Struct LightLiving;
  static LightKitchen_Struct LightKitchen;

and you should initialize local variables... had you done that, you may have seen the error you made.

Well i know that i have out the structs in a variable localy (in that void).
but i didn't think it be a problem, because it only needs to read, and write to those structs in that void.

You can't do anything in a void. You do things in FUNCTIONS!