Replacing a manual rotary selector switch with Arduino?

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)

  1. 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.

  2. 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.

  3. 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.

  4. 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.

using a series of relays is the first thing that comes to mind.
each relay would have a normally closed state and a powered state.
assume there is no power, what setting would you want it to be ? remember there would be no power, so the gate motor would also have no power.

the, you need to make a simple logic table. it looks like there is one common wire and 5 connections.
if that is all that is needed, then you could use 5 relay modules.
power any one and all the rest are unpowered (no signals)

One ESP8266,
a simple I2C OLED and you can show the current state.

I would keep it simple.

Leave the selector switch alone, put a relay in the control box between the pink wire (ground) and #7 and connect the common connection to #7, the N.C. connection to the pink wire and the N.O. connection to #8.

Unpowered the relay will not affect the selector switch, powered the relay will put the door into open mode.

Set your code to only power the relay for a appropriate amount of time to enter.

Slumpert, Dave-in-nj, thanks to you both - this is a different take on it and way easier than I was thinking. Should be all I need to make progress on the hardware end - hurrah for good advice!

Must be an older model!

Mine already has a button pad with indicator LEDs to set the different modes which - if I needed to - should be readily hackable.

Your reference to prying the door open puzzles me. Firstly it should have an electric bolt to prevent that, and secondly it should already have a keyswitch outside to let you in.

Paul__B:
Must be an older model!

Mine already has a button pad with indicator LEDs to set the different modes which - if I needed to - should be readily hackable.

Your reference to prying the door open puzzles me. Firstly it should have an electric bolt to prevent that, and secondly it should already have a keyswitch outside to let you in.

One on my friends building has an almost identical arrangement with the external key switch as you say and it it over 40 years old.
Key switch allows initial entry, then the key is fitted to the internal selector unit and set for whatever entry arrangement, usually auto open with internal/external ir sensors above the door.

Yes, using relays is the easiest route to mimic the switch. And since you already have the controlling device connected to internet, it can set the «out only», «open» and «winter» function atomatically based on opening hours and months. So you can use the app to override or settings.

Er dette i Norge forresten? :slight_smile:

dave-in-nj:
using a series of relays is the first thing that comes to mind.

I see resistors on that board, so could be a low current resistor selector.
If you use relays, then use reed relays (DIL reed).
Normal relays become unreliable quickly.
Leo..

Paul__B:
Must be an older model!

Your reference to prying the door open puzzles me. Firstly it should have an electric bolt to prevent that, and secondly it should already have a keyswitch outside to let you in.

It wouldn't surprise me to hear that it was older :slight_smile: I read about the locking mechanism for the system, but for whatever reason that doesn't seem to be present here. There's a key lock on the door but nothing else keeps us out. Also, there's no key switch outside and I've been told (right or wrong) that the lifespan of these switches is pretty short through winters that are routinely -15 to -20C, and can dip to -30C without much prompting. But that's ok, since this gives me a chance to do something new and pretend like I knew how to do this all along :slight_smile:

dorvakta:
Er dette i Norge forresten? :slight_smile:

:slight_smile: Jepp! Vi har flyttet inn til et nytt sted i Alta. Det var en bank her før, og de låste aldri ytterdøra pga ATM i gangen... så det er vanskeligere for oss. Også, funksjonsboksen ligger så høy at det er bare enn av oss som kan bruke den, så vi gleder oss til å kvitte oss av å bruke den...

Wawa:
I see resistors on that board, so could be a low current resistor selector.
If you use relays, then use reed relays (DIL reed).
N

Awesome - thanks for the advice!