Maybe you should start doing it step by step and keep if what you do work or not.
I mean, first try that a string happen in screen when you interact. When you do it, then next step should be switch on a single light, after switch on and off, later more lights, etc etc. I guess you get the point.
I am very novice too, so I could be wrong. Anyway I’ll say you what I see and what I try. Lets checks the pictures:
in your “BP_Lights switch” blueprint you have a component (called “var lightswitch”, and if I am not wrong you created it dragging it from scene components to blueprint). It is ok, but in order to interact with a blueprint it’s object must be declarated as that blueprint (I mean, if you want interact with the blueprint called “BP_Ceilling Light” you must create a variable declared as “BP_Ceilling Light” type).
In your “BP_ceilling light” blueprint you have a boolean variable that never change in code (and if I am not wrong, it should be set ON and OFF after the branch).
In your last image, “Player control”, I guess you tryed it already and saw it work. I really try and check this first, just change that “on interact” to a “print string” and see if you see the text.