Background / Project Need
I feel like this should be a common type of project but I can't seem to find exactly what I'm looking for... which probably means I am not asking search engines the right questions. So let's try here, and see if I can learn what I really should be asking or doing.
Our company has moved into a new location that has an automatic sliding door entrance (Dorma ES100, for what it's worth). The door's behavior can be modified via a rotary switch inside, which allows us to keep it closed, always open, let people out but not in, open normally, and open halfway in winter because this is the arctic.
This switch is Stupid (end of day, set "out only", go out and lock door. Next day, unlock door... and, uh... pry open door with hands to get in, so we can go and change the switch to "open") and I want to replace it. What I want is to give everybody a phone app with simple buttons (f.ex. "Open", "Winter", "Out Only"... just like the switch). They push a button on their phone and the door changes behavior.
The programming isn't the major issue - I can handle/figure out the network, the phone app, and eventually how to make the Arduino play nice with those parts. I'm not a hardware/electrical person (not afraid of it, just never spent time on it before), and that's where I'm getting stuck on the best/proper way to make this work. I have zero pre-objections to any idea, so any insights or suggestions that don't involve hundreds++ of dollars are welcome.
Details About Current Hardware and Network
The rotary selector is connected to the door via ordinary Cat5 cable. It appears that this is just a super simple setup where the door sends some kind of signal through the switch, and decides what to do based on what wire the signal comes back through. Each position on the switch has its own wire, and the very basic schematic I could find for the door shows that each wire back corresponds to one of the door's behaviors. I don't know the exact voltage or contents of what is being sent to the switch, so I can't assume that I can replicate that signal myself unless I need to AND learn how to figure out what is being sent.
I have very simplistic wiring schematics for the door controller and the selector switch. None of them tell me exactly what is being sent to the switch; only how each output wire should be connected at the switch and the door controller.
We have a private wifi network that I have full control over.
I have an Arduino Uno Wifi that is waiting for me to find a way to use it. I have never worked with an Arduino before but the last couple days' worth of reading tells me that it is No Big Deal And Probably Lots of Fun given enough understanding.
I am not allowed to disassemble the door hardware or the rotary switch, though I have given myself permission to remove the wires from the rotary switch and plug them in somewhere else.
I am not allowed to relocate the switch to the outdoors - see also, "this is the arctic".
Current Ideas (in order of simplicity in my own head, not necessarily in reality)
-
Simply plug the input wire for the rotary switch into the Arduino, and re-route whatever is coming in to one of five output ports depending on what request the user is sending the Arduino via their phone app. This seems to have some inherent risk in potentially slamming unacceptable amounts of electricity into a small, vulnerable and fairly cute piece of electronics, and that would be sad. I doubt very much that this would be the case, but it seems possible. Also, I have not discovered whether Arduino can act simply in a pass-through capacity between input and output ports. If not, then this idea is completely wrong.
-
Use the Arduino as a controller for an external electronic version of that mechanical rotary selector. Phone app sends a state request to Arduino over the wifi network. Arduino verifies the request, and sends a control signal to the selector, that switches the input signal to the output wire/port that was requested. This seems like the most likely solution, but I can't for the life of me find a product that serves as a controllable selector switch... which leads me to believe that either I am searching for the wrong-named piece of hardware (I have tried a lot of search phrases), or that I again am wrong about this being a possible way to do things.
-
Attach some kind of mechanical rotator to the actual selector switch and then use the Arduino to receive the user's request and instruct the rotator to physically move the switch around. I'm REALLY hoping that this is not the best or only answer, since it's been 100 years since Rube Goldberg started drawing these kinds of engineering solutions and I'd like to think we've moved past that. But... if that's really the only answer, let me know and I will change direction.
-
The better answer that I haven't thought of yet.
Thanks a million for any suggestions and time you have for this. Hope this wasn't just a TL;DR exercise - I'm trying to avoid X/Y.