3-way GE Z-Wave dimmer where fixture is before switch?


I have a 3-way standard switch setup where the load comes “before” the first switch. The diagram here is basically my setup:


I can’t use a standard Z-wave GE dimmer switch pair (main and secondary), because there’s no real neutral. I could run one neutral into the “furthest” box, and use the spare conductor connecting the first box, as the second Z-wave switch only needs the traveler and the neutral. I’d extend the neutral back to the first box on this spare conductor.

Now, I guess, this is the question: If I get a legit neutral into both boxes, will the fact that the “line” side of the main Z-wave switch will not get 120V cause me an issue? This would be because the “hot” wire from the breaker panel is connected to the lamp, and then a conductor is run to the first box. So there will be a voltage drop there.

The light fixture is for a regular 65 watt bulb, but I could use a LED one with 10 watts or less. So the voltage drop to the first Z-Wave (main) switch shouldn’t be bad.

Any suggestions would be appreciated.



You could use a shelly 1


The part you want starts at 6:45


It looks like the SONOFF Mini R2 would work, as he says “This is the situation I wish I had, because it’s the easiest one of all.” And it is the situation I have.

But is the SONOFF Mini R2 supported in the current HA build? Is it a native integration, or requires MQTT or some other add-on?

Would I need to flash my Sonoff device with Tasmota firmware?

The application I’m using this for is for a 3-way switch for my basement stairs. I’d want to use HA to detect motion and turn on the light, while not affecting local switch-based usage.

Whatever solution I settle on will need to track the state of the switches. For example, a) light is off, b) HA turns light on, c) switch turns off light, d) HA notices the light is now off.

I’d prefer some native integration, but I’d use what works.

Thanks for your help!


Shelly also works and is supported by the current HA build. It is an integration. I don’t know about sonoff as I have shelly. You will need a separate motion sensor.

Like this one (battery operated but does have usb plugin:

This will not affect you local switch use if wired correctly. The motion sensor will be used in an automation to turn the light off and on.

I’ve got a motion sensor from one of my 6-sensor multi cubes. So that’s easy enough.

I plan to use ESPHome for a water level meter. I think there’s a project for ESPHome for the Sonoff, so that would be good.

OTOH, if the Shelly has its own integration, that may make it more useful. Does they Shelly entity on HA “see” the changing state of the load when the switches are utilized?



Yes it does.

Here’s the integration. I have 3 Shelly 1 and 2 Shelly 2.5

Screenshot from 2021-10-21 13-08-44

OK, good!

Now, if you activate the light/appliance that the Shelly controls via a local, hardware switch, does HA notice the state of the entity changes from off to on, or on to off?


Yes it will register the change

I got the Sonoff Mini R2. There was no flashing or anything, It just worked. Thanks to Dr Zzs! Sonoffs can work with Home Assistant without changing the Firmware! - YouTube

The version this video covers is a bit older than my current Sonoffs. Just get the eWeLink app and get it going with new firmware (like any Sonoff), then it works in HA fine.

Of course, setting it up on your bench makes more sense than installing it in the ceiling first. So once you get a on/off switch that controls a test light, you can install it!



To clarify, yes. The setting on the switch entity “follows” how it was set via a switch. Or you can leave the switch off, or never use it anymore. So if the switch entity if off, flipping the physical switch makes it go on, then off as needed.

But if you turn it on via the switch, and the icon shows on, and you then turn it off in HA, the load (light) will be off, but the switch would be in the “on” position.

If you want it to return to the “real” value that the switch is currently at, you want your “switch.sonoff_10011234” entity to read the value of the included switch pins (like my MiniR2) I can’t see any easy way to do that.

But you can do it via Automation. Rather than just switch off the Sonoff in HA, Have an automation that “knows” when the physical switch is turned on. If it’s not turned on via another automation, it must have been turned on via the switch.

So have your switch set a local value for “switch-was-on” or “switch-was-off”. Then, when, as in my case, an automation asks for the switch to be set, also set another variable for “automation-was-on” or “automation-was-off” depending what the automation does.

Then, at some time, after a timer expires, for example, your automation can decide "if the switch was on, but now I want the load off now, should I turn if off, or leave it on so it “matches” the switch.

Remember, the Sonoff uses a static switch state, not a momentary push button. If you did use a momentary physical switch, maybe can be done in the Sonoff eWeLink app before you use it in HA, then the physical switch doesn’t have an on or off position…just a momentary pulse. Then it doesn’t matter.

For my application, motion sensors make the light go on and off, so users don’t need to use the physical switches, but when HA crashes, or your UPS runs out, then the physical switches are useful!