11

I recently acquired the SmartThings Hub and trying to see if I can add some low cost IoT devices to my home.

I suspect that the way SmartThings knows that I am home is by scanning for my phone's WiFi MAC address. If I turn off my phone's "scan Wi-Fi" function and keep my Wi-Fi off, it will not know that I am home.

I have a bunch of Amazon Dash buttons. I see people hack it by running a server to scan for its MAC or run a server to intercept its connection. I found it too cumbersome. Instead, I am thinking of just using the SmartThings to detect the Dash button's MAC address when its button is pressed and trigger events as "Arrival".

I am new to SmartThings. I suppose I can find some App to spoof my phone's Wi-Fi MAC. I don't have such app off hand and it will also be time consuming. Is there an easier way to add an fake mobile phone as SmartThing?

7

First I thought it was the easiest way to use a standard hack that connects the Dash button to IFTTT and the just use the SmartThings channel on IFTTT to do the rest. Unfortunately SmartThings currently does not seem to support setting the home mode via IFTTT. Generally their recipes seem not too useful from the outside.

I cannot properly look at the list of triggers and events they provide since I don't have any SmartThings devices and they don't let me fake my way to any sort of drop-down. They do however have a an applet called "Presence Control (arrival)" which really sounds like it should do exactly what you want.

However, I suspect it doesn't since setting the home mode isn't in the listed actions available via IFTTT on SmartThings.

| improve this answer | |
7

The original Dash buttons were based on the Broadcom (now Cypress) WICED SDK, and as a result there have been several online writeups on how to develop custom firmware for them. Typically in such a system, the MAC address is merely a data item in flash at a location specified in a header file; hence it is something readily changed. (The newer ones use an Atmel embedded WiFi solution; likely something similar is possible, though I've not looked into the details, or it may be simpler to use an ESP8266 with one of Richtek's USB power switch chips to enable it to hold itself on just long enough after being bootstrapped by the button push to transmit).

So, if your theory about only the MAC address mattering is correct, then you could make an original Dash button or its functional equivalent transmit traffic from any desired address.

That may or may not be wise, but realistically, the greater concern is that the Smart Things system is hopefully looking for more than just "any" packet from a given MAC address, as such a system would be extremely weak. Also, Apple devices no longer use a consistent MAC address when merely scanning for AP's, in order to combat shopper fingerprinting systems which recorded these, making the seen scanning theory even more doubtful.

More likely or at least hopefully the Smart Things system is looking for actual background traffic from an App on the phone (or possibly some functionality of the phone operating system), with a cryptographic proof of identity or an account unique token protected by an encrypted channel. If it really only needs to see the MAC, that's weak enough that you may want to rethink what you allow to be triggered by an at-home detection.

In terms of adding "a fake mobile phone" you might be able to accomplish something if you can get their app to run on an Android emulator or a more engineering sort of Android device platform for which you've configured the MAC address. Or in the more likely case where they need more than the MAC address, such a device that you put into active mode by pushing a button.

| improve this answer | |
  • I see what you mean. It could be that the SmartThings App giving away my presence by geofencing. By enabling Wi-Fi scanning, Google's Location service can pin-point my location more accurately and therefore SmartThings App will know that I am home. SmartThings App definitely retrieves my location data. That would unfortunately mean I will have to go back to the drawing board. Reprogramming the dash firmware is really not my cup of tea. – some user Jul 13 '17 at 6:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.