Ok confusing communication. When you said 2 gpio pins needed I assumed you use an electronic switch with encoder logic. If you only have a switch you only use one gpio pin per sensor. See
https://www.youtube.com/watch?v=jwS4VgTwe2s
negatic logic.
You connect GND<->Switch<->GPIO pin. When switch is closed it makes the pin switch to 0. Only thing is when open you need 3.3V->resistor->pin to ensure it is high when not connected. You can do this externally with a pull up resistor or configure pi to activate the pull up for that pin. I just sow you can not configure it in the server, nut sure why. Need to investigate why that is, You can configure this on the ssh terminal using gpioset for example:
gpioset --help
Usage: gpioset [OPTIONS] <chip name/number> <offset1>=<value1> <offset2>=<value2> ...
Set GPIO line values of a GPIO chip and maintain the state until the process exits
Options:
-h, --help: display this message and exit
-v, --version: display the version and exit
-l, --active-low: set the line active state to low
-B, --bias=[as-is|disable|pull-down|pull-up] (defaults to 'as-is'):
set the line bias
-D, --drive=[push-pull|open-drain|open-source] (defaults to 'push-pull'):
set the line drive mode
-m, --mode=[exit|wait|time|signal] (defaults to 'exit'):
tell the program what to do after setting values
-s, --sec=SEC: specify the number of seconds to wait (only valid for --mode=time)
-u, --usec=USEC: specify the number of microseconds to wait (only valid for --mode=time)
-b, --background: after setting values: detach from the controlling terminal
Biases:
as-is: leave bias unchanged
disable: disable bias
pull-up: enable pull-up
pull-down: enable pull-down
Drives:
push-pull: drive the line both high and low
open-drain: drive the line low or go high impedance
open-source: drive the line high or go high impedance
Modes:
exit: set values and exit immediately
wait: set values and wait for user to press ENTER
time: set values and sleep for a specified amount of time
signal: set values and wait for SIGINT or SIGTERM
Note: the state of a GPIO line controlled over the character device reverts to default
when the last process referencing the file descriptor representing the device file exits.
This means that it's wrong to run gpioset, have it exit and expect the line to continue
being driven high or low. It may happen if given pin is floating but it must be interpreted
as undefined behavior.