Here’s what i’d do.
The lever blueprint.
From BeginPlay - add a getAllActorsOfClass (Your door blueprint) - promote this returned array to a variable called - MyDoors or something.
From your CastSucceeded node (in place of your door move node) - Add a FLIP/FLOP node - Make a timeline with a float curve that goes from 0 to 1 over 1 second. You could call this float curve - LeverAmount. Attach one of the flip/flop outs to play and the other to reverse. Drag off the LeverAmount output of the timeline and use promote to variable to LeverAmountFloat - attach the update from the timeline to this setter.
The Door blueprint.
From BeginPlay - add a getAllActorsOfClass (Your Lever blueprint) - promote this returned array to a variable called - MyLevers or something.
Make a custom event called UpdateDoorPosition. Make a float variable called LeverAdder. From your UpdateDoorPosition event set this LeverAdder to 0. Drag in a getter for your MyLevers array. Drag off this and make a ForEach loop. Attach the LeverAdder setter to the in of this. In the loop node drag off the MyLever ref and start typing LeverAmountFloat to get the lever amount from each lever blueprint. For each loop add this amount to LeverAdder.
This means when you have - for example - 6 levers all pulled you’d get a total of 6.0 in the lever adder variable. So you should divide this value by the length of MyLevers - this means you can have as many levers as you like and if they’re all pulled you’ll have a total of 1. Use this figure to drive a transform lerp of your door’s position. To do this properly DON’T use MoveComponentTo - use SetLocalTransform.
Then go back to the lever blueprint and add the UpdateDoorPosition after the LeverAmountFloat setter. You can do this by dragging in your MyDoors var and dragging off it and typing UpdateDoorPosition. This means (without a test at least) if you have more than one door object they will all open.
Homework!
Add an editable variable called DoorID to the levers and doors - this way you can have lots of doors controlled by lots of different levers. - Just do a test on the forEach loop in the door blueprint.
EDIT - Just looking at your blueprints again - when you make your timeline drive a lerp, you need to have your timeline produce a float, not a vector. This float should be between 0 and 1. You plug this float into the alpha of your lerp. Imagine a lerp as a cross-fader on a mixing desk. It slides between whatever’s in A and B. If you have a Lerp(Float) and you put 0 into A and 100 into B, then your alpha value of 0 to 1 will slide this value between 0 and 100. If you have 500 in A and 10 in B, then the output will slide between 500 and 10 based on the 0-1 float in the alpha. If you use a Lerp(Transform) then you can make a whole position/rotation/scale movement which slides between one position and another based on the 0-1 alpha.
In our case we’re not driving the lerp directly from the timeline - we’re adding up all of the lever’s amounts, dividing it by the amount of levers (Which will get us a value between 0 and 1) and driving the transform lerp based on that.
Your transform lerp should have the position of the door closed in A and the position of the door open in B