Integrating stateless hubs (google hub/alexa), stateful (Smartthings Hub) hubs, and stateless switches

Apology for the description, but I couldn’t think of a better way to say it.

I’m the author of a Smartthings device driver that interacts with lights that are receive only - they don’t report their state. They also turn on when you apply power to them.

Bearing that in mind, here’s the use case I’m hoping to address:

  1. Light is turned off in Smartthings.
  2. (Dumb) light switch is turned off and back on. Since it’s receive, only, Smartthings doesn’t know this.
  3. A request is issued "Alexa, turn off [light]’ or “Ok Google, turn off [light]”. This does nothing, because the state is set to off.

Now, for the most part, I like the lighting interface as-is, but obviously, this is frustrating. Any thoughts on a workaround? Some way to force a resend?

1 Like

I don’t know the details of the Alexa & Google implementations, but DTHs are perfectly happy ignoring the current State of a Device when receiving a Command and passing it along.

In a visual interface like SmartThings App, Alexa App, or ActionTiles, it is a difficult UI challenge because a displayed toggle Switch can’t issue the correct Command from the incorrect State (unless it is a “Momentary Button” - but that’s being deprecated?).

A speech interface has ZERO reason to not just issue the spoken Command regardless of the State! This situation is very aggravating!

Well, I’ve watched the logs, and nothing is being sent to the device handler. Google doesn’t ignore the state as much as I wish that it did.

You a momentary push button that will turn the device off through software, therfore ignoring the current state.

1 Like

As @Ryan780 points out, “Momentary Buttons” (or two Virtual Switch DTH: 1 that sends On and then immediately resets itself to Off but does not send On; and one that sends Off and then immediately resets itself to On but does not send On) would do the trick.

But you would then have 2 “Virtual Momentaries” in Alexa and Google (and ActionTiles…) for each of your real Device instances.

Interesting. Google certainly shows requests to my lights in the logs regardless of state but they are actually on smart plugs (the handlers themselves don’t do logging). It also sends the requests to a custom handler with capability switch and that does log them.

1 Like