For a background, I have 3 DPST bistable (latching flip-flop) relays that I have 120VAC input and 2 outputs. On one side, I have a 120VAC appliance. On the other side I need to find a way to feed it back into a Raspberry Pi's GPIO pins to detect whether it's live. What is the simplest way to accomplish this? I thought about step-down transformers and induction, but the transformer would get expensive, since I can't seem to find any other way to do it besides chaining 120vac to 5vdc and 5vdc to 3vdc and I have no idea how to use induction.
If you know how to make compute an impedance voltage transformer with caps and resistors like a scope probe, you can divide 100:1 and rectify with some slow rise or fast risetime specs and threshold to logic and shunt Neutral to 0V with another cap.
A suitable detection window for time and frequency must be specified by you for noise immunity, depending on your noise environment.
If you define your input , output and range / tolerances & thresholds, then a solution can easily be defined. Vin min(on), Vin max(off), Logic “0” Vil(max), Logic “1” Vih(min,max), Time detect, min, max) Noise reject at 1kHz to 1MHz= __ dB, ( nearest interference dI/dt, dV/dt and distance to input.)