(*
  GVL: NVL stubs (or replace by CODESYS Network Variable lists NVL_In / NVL_Out).
  In the real project, bind these to your UDP/network variable sender/receiver.
  DI_Emergency_Stop: link to physical input or leave FALSE.
*)
VAR_GLOBAL
    NVL_In: STRUCT
        masterBedroom: struct_room_cmds;
        masterBathroom: struct_room_cmds;
        bedroom_1: struct_room_cmds;
        bedroom_2: struct_room_cmds;
        bathroom: struct_room_cmds;
        guestWc: struct_room_cmds;
        kitchen: struct_room_cmds;
        pantry: struct_room_cmds;
        livingRoom: struct_room_cmds;
        dinningRoom: struct_room_cmds;
        entrance: struct_room_cmds;
        hallway: struct_room_cmds;
        outVeranda: struct_room_cmds;
        outFront: struct_room_cmds;
        outBack: struct_room_cmds;
        outSide: struct_room_cmds;
        boiler: struct_boiler_cmd;
    END_STRUCT;

    NVL_Out: STRUCT
        l_masterBedroom: struct_room_outs;
        l_masterBathroom: struct_room_outs;
        l_bedroom_1: struct_room_outs;
        l_bedroom_2: struct_room_outs;
        l_bathroom: struct_room_outs;
        l_guestWc: struct_room_outs;
        l_kitchen: struct_room_outs;
        l_pantry: struct_room_outs;
        l_livingRoom: struct_room_outs;
        l_dinningRoom: struct_room_outs;
        l_entrance: struct_room_outs;
        l_hallway: struct_room_outs;
        l_outVeranda: struct_room_outs;
        l_outFront: struct_room_outs;
        l_outBack: struct_room_outs;
        l_outSide: struct_room_outs;
        boiler_status: struct_boiler_status;
    END_STRUCT;

    DI_Emergency_Stop: BOOL := FALSE;
END_VAR
