brianpeiris / switchmate

A python-based command line utility for controlling Switchmate switches
MIT License
35 stars 12 forks source link

Switchmate firmware update broke this script! #6

Closed armaanbindra closed 6 years ago

armaanbindra commented 7 years ago

Switchmate firmware update broke this script! After a recent firmware update switchmate pushed out, I can no longer use this script to discover and connect to it. Please help, if somebody has figured out how to make it work with the new firmware update, this was integral to my smarthome setup :(

brahmafear commented 7 years ago

Not a guaranteed fix, but try changing the SWITCHMATE_SERVICE to "abd0f555eb40e7b2ac49ddeb83d32ba2". Based on posts elsewhere, that seems to help.

armaanbindra commented 7 years ago

@brahmafear thats one the first things i tried after reading about it elsewhere too. ๐Ÿ™. That gets me further, the scan for the bluetooth devices does work, so its a step in the right direction, yet the actual auth and connection to the switch still completely fails.

JLSchuler99 commented 7 years ago

I was wondering if a solution to this was found yet. I've been having the same problem and the switch is unusable for me right now.

chandruxp commented 7 years ago

+1

brianpeiris commented 7 years ago

I haven't managed to figure out how to toggle the switch with the new firmware. I've created a new-firmware branch that supports scanning and checking the status of devices with the new firmware but I've been unsuccessful in my attempts to toggle the switch.

I've tried to intercept the bluetooth communication that allows Switchmate's Android app to toggle the switches. Using Android's "Bluetooth HCI snoop log" and Wireshark, I found that there is some sort of preamble between the app and the device that may be what allows it to toggle the switch. The actual toggle command are simple writes to one of the bluetooth characteristics.

My guess is that there is a time-based key that is generated using some algorithm. It probably encrypts the sender's MAC address along with a time-based key and maybe a secret key, and then sends that encrypted info to the Switchmate device (see the first write operation in the table below). The Switchmate device is then able to decrypt the info and verify that commands received from the MAC address are allowed. If this is indeed the case, cracking the algorithm may be very difficult.

It could also be (I'm hoping) that my attempts to toggle the new firmware were just wrong and that the method is actually simple, but I don't know what I'm doing wrong.

Here is a formatted log of the intercepted operations:

Operation Handle Value Notes
read 0x30 Value: 0d3fe4eb0dee When the Switchmate Android app first connects to the device, it does some preamble with the following set of operations. First it reads handle 30, which is actually just the device's MAC address. ...
read 0x32 Value: a3a34507d361 ... Then it reads this value. This value changes over time ...
read 0x34 Value: d5ee9ac1010bd7cc146c46da612eb746 ... Then it reads this value, which also changes over time. ...
write 0x36 Value: 000069720000001a0f6bc89d48769210 ... Finally, it writes this value, which is different the next time you run the app.
write 0x2a Characteristic Configuration Client: 0x0001, Notification This operation enables notifications on the 0x29 handle (which reports the device's toggled state).
read 0x18 Firmware Revision String: 2.99.15 When you press a device's toggle button on the app, it first reads the device's firmware version.
write 0x2e Value: 00 This is an actual toggle operation. In this case it's toggling the switch off.
rcv 0x29 Value: 00000000 It receives a notification that the switch is off.
read 0x18 Firmware Revision String: 2.99.15 This is when I pressed the device button in the app a second time. It reads the firmware version every time before it toggles a device.
write 0x2e Value: 01 Again, the toggle operation is a simple one that does not seem to require a key. It just sends a "1" to the 0x2e handle in this case to toggle the switch on.
rcv 0x29 Value: 01000000 Finally it receives the notification that the switch was toggled.

Here's some more info about the bluetooth characteristics on the old firmware vs the new firmware that might help anyone else trying to figure this out.

New firmware characteristics:

Characteristic UUID Common Name Handle Properties
00002a00-0000-1000-8000-00805f9b34fb Device Name 0x03 READ WRITE
00002a01-0000-1000-8000-00805f9b34fb Appearance 0x05 READ
00002a04-0000-1000-8000-00805f9b34fb Peripheral Preferred Connection Parameters 0x07 READ
00002a05-0000-1000-8000-00805f9b34fb Service Changed 0x0a INDICATE
00002a19-0000-1000-8000-00805f9b34fb Battery Level 0x0e NOTIFY READ
00002a29-0000-1000-8000-00805f9b34fb Manufacturer Name String 0x12 READ
00002a24-0000-1000-8000-00805f9b34fb Model Number String 0x14 READ
00002a27-0000-1000-8000-00805f9b34fb Hardware Revision String 0x16 READ
00002a26-0000-1000-8000-00805f9b34fb Firmware Revision String 0x18 READ
00002a23-0000-1000-8000-00805f9b34fb System ID 0x1a READ
a22b0010-ebdd-49ac-b2e7-40eb55f5d0ab - 0x1d READ WRITE
a22b0020-ebdd-49ac-b2e7-40eb55f5d0ab - 0x1f READ WRITE
a22b0030-ebdd-49ac-b2e7-40eb55f5d0ab - 0x21 READ WRITE
a22b0040-ebdd-49ac-b2e7-40eb55f5d0ab - 0x23 READ WRITE
a22b0050-ebdd-49ac-b2e7-40eb55f5d0ab - 0x25 READ WRITE
a22b0060-ebdd-49ac-b2e7-40eb55f5d0ab - 0x27 READ WRITE
a22b0070-ebdd-49ac-b2e7-40eb55f5d0ab - 0x29 NOTIFY READ
a22b0080-ebdd-49ac-b2e7-40eb55f5d0ab - 0x2c READ WRITE
a22b0090-ebdd-49ac-b2e7-40eb55f5d0ab - 0x2e READ WRITE
a22b0200-ebdd-49ac-b2e7-40eb55f5d0ab - 0x30 READ
a22b0210-ebdd-49ac-b2e7-40eb55f5d0ab - 0x32 READ
a22b0220-ebdd-49ac-b2e7-40eb55f5d0ab - 0x34 READ
a22b0230-ebdd-49ac-b2e7-40eb55f5d0ab - 0x36 READ WRITE
00001532-1212-efde-1523-785feabcd123 - 0x39 WRITE NO RESPONSE
00001531-1212-efde-1523-785feabcd123 - 0x3b NOTIFY WRITE
00001534-1212-efde-1523-785feabcd123 - 0x3e READ

Old firmware characteristics

Characteristic UUID Common Name Handle Properties
00002a00-0000-1000-8000-00805f9b34fb Device Name 0x03 READ WRITE
00002a01-0000-1000-8000-00805f9b34fb Appearance 0x05 READ
00002a04-0000-1000-8000-00805f9b34fb Peripheral Preferred Connection Parameters 0x07 READ
00002a05-0000-1000-8000-00805f9b34fb Service Changed 0x0a INDICATE
00001526-1212-efde-1523-785feabcd123 - 0x0e NOTIFY WRITE
00001528-1212-efde-1523-785feabcd123 - 0x11 READ
00001527-1212-efde-1523-785feabcd123 - 0x13 NOTIFY WRITE
00001529-1212-efde-1523-785feabcd123 - 0x16 NOTIFY WRITE
00001532-1212-efde-1523-785feabcd123 - 0x1a WRITE NO RESPONSE
00001531-1212-efde-1523-785feabcd123 - 0x1c NOTIFY WRITE
00001534-1212-efde-1523-785feabcd123 - 0x1f READ
psolin commented 7 years ago

Added encryption seems like a logical explanation as to why the switch would no longer work with 3rd party code. They advertise that the Wink Hub 2 is compatible with Switchmate, with literature in the product box claiming it as well. It is not anymore. This is the response that I received from Switchmate:

Hello,

Thanks for reaching out. We are just as excited for our compatibility with Wink, but unfortunately we are still waiting on Wink to push out their new update to make this compatibility occur. This has taken much longer than Wink advised us.

As you may know, Wink was recently acquired and have been making big adjustments to their entire company, leaving us unsure of the timing of compatibility for the Switchmate Bright and Power Outlet with the Wink Hub2. During this transition, however, I can assure you that our software development team is working closely with Wink to speed this process up for you.

I sincerely apologize for any inconvenience this caused you, if you have further questions please let me know!

Yes, blame another company, even though it was apparently working before. Here's a response from Wink:

Thank you for reaching out to Wink. Switchmate has made changes to their firmware resulting in Switchmate products no longer being compatible with Wink. We are investigating these changes and will have an update regarding future support for Switchmate products. We apologize for any inconvenience in the meantime.

To me, this reads that Wink may drop support for these products, not that they are issuing a software update necessarily.

What this company should be doing is designing a new product which works on Z-Wave (or similar) if they really want to make it work properly with hubs, etc. I guess that I just don't see the benefit of pushing an update screwing over everyone who wanted something more than control through their shoddy phone app. They could have waited until Wink was ready and completed the process all at once. I suspect that they really just wanted to kill projects like these.

F1nny commented 7 years ago

Hey Guys, Brian reached out to one of our guys and this came across the desk - correct that we introduced a major firmware update first with our new product launches in June and then upgraded our Original devices recently to bring into the new featureset and take full advantage of the new app. Re Wink it is definitely a bummer still not supported, they've had the updated firmware spec and products farrrrr before June and said they'd make it work long ago but came back with many delays then recently crazy asks. We have bent over backwards trying to get that support back and still are but will see what happens as dropping support trust me when I say is by no means anywhere near what we want but have made every reasonably possible effort, and note the original device firmware being discussed here was ready and meant to deploy in June but we delayed many months waiting until recently when we simply couldn't any longer because the old firmware on the new app was limited (found bugs) and not up to par so we eventually had to pull the trigger on the update as had already delayed almost half a year specifically for Wink.

Anyway moving along we love the DIY community and definitely had absolutely NO ill intent with the update re these kind or projects, to be honest we didn't know how many were out there and have supported some where we're able as love to see it! We have a public API in the queue and in the meantime let us do some tests and see what we can do to help get you guys back online. I cannot make ANY guarantees right now but give us a few to see what can figure, if nothing else yet maybe can provide a pathway to roll back in the meantime as we have continued to not push over our old app users (just hidden from stores) so they could continue on the old firmware for the original wink users but could be useful in these cases until we provide a public API. Just note our plate right now is crazy full so again can't make any promises just that we now know you're here and let's see what can do. Reqs@switchmatehome.com comes to me just note likely will be a delay in getting back to you, I'll try to circle back to this post soon here and Brian I'll reply to the email forwarded over this week and try to get something figured! @brianpeiris @psolin

brianpeiris commented 7 years ago

Thanks for the quick response @F1nny!

If you can do anything to point me in the right direction, I'd be happy to do the leg work on my end to make things work with the new firmware. Ideally you won't have to spend the effort to release another firmware update just to help the DIY community, but that would be great as well.

It's good to hear about the public API, but honestly Switchmate has been hinting at it since January, so I'm not holding my breath :) As you mentioned, you have a lot on your plate, so help us help ourselves.

Looking forward to getting things working again!

sbastami commented 7 years ago

@brianpeiris How are you approaching this issue and is there anything others like me could try to do to help you with figuring out a solution to this issue? I'm trying a different approach in the meantime, do I'm happy to help what you're doing if I can. Need this script to work badly.

Thank you.

brianpeiris commented 7 years ago

Right now I'm waiting for Switchmate to reply. It looks like they want to help the DIY community fix this, which would be great.

If that doesn't pan out my only option would be to attempt to decompile the Switchmate Android app in order to decipher the authentication scheme. I've never done this before and I hit a dead end a few weeks ago when trying. So if anyone has experience doing that, it would be helpful. But I'm still going to wait for Switchmate first.

sbastami commented 7 years ago

I've been setting up to do the same thing. Got the Apk and all, but what dead end did you hit? Perhaps I can keep it in mind when I start trying the same thing.

brianpeiris commented 7 years ago

I guess dead end wasn't the right phrase. I decoded the apk with Apktool and that resulted in thousands of .smali files with the intermediate language code. That seemed a bit daunting at the time, so I gave up.

I imagine at that point it would be a matter of combing through the smali IL code to find the auth code and then reconstruct it in python or the language of your choice. That feels like several days of work to me.

sbastami commented 7 years ago

I see. Thanks for the information. I'll post updates if I make any progress.

brianpeiris commented 7 years ago

Thanks and good luck!

trdougherty commented 7 years ago

@brianpeiris thanks so much for your help and quick responses! One of the things I've noticed with this new switchmate firmware is that anytime we read the state (or make any kind of connection) the switch seems to default to off state upon disconnection. Have you or anyone else run into this problem, and if so are there any workarounds? Thanks again!

F1nny commented 7 years ago

Hey guys, we provided a Homebrew specific firmware bundle to Brian (Switchmate original only for the moment, not the swmbright/slim but will do that as well afterwards) with instructions as a temporary short term work around to get you back online. We're working with him to do some testing and will provide an update soon - Re decompiling the way it's configured and with a wrapper around sensitive areas to prevent exactly that I don't think will have much luck but we'll get you covered short and long term so hang tight just a little longer!

PS @trd142 re reading state defaulting to off state when disconnect I don't think fully follow you, the state stays the same nomatter connection status, there are a few things that do get populated dynamically when authenticated but state is not one of them (may be looking at wrong char)

Edit: We approved the manual sharing / distribution of the Homebrew bundle mentioned above, I'll let Brian lay it out with instructions after his testing just be warned this does void your warranty and is use at your own risk. Also this is for non commercial / private use only, violations will not slide here. This is a short term solution only and note you must already be on 2.99.x firmware for it to work (do NOT use if you are on 2.21/2.32.3 - this will brick your device and not be supported). We are working on longer term solutions soon as we can and will provide an update soon as have some news but a public API we are aiming for early 2018 (but have better ideas in the interim will update on)

brahmafear commented 7 years ago

Thanks @F1nny, I'd be interested in assisting with testing and don't mind voiding my warranty. I believe my switchmate is the slim version though.

brianpeiris commented 7 years ago

@brahmafear If you have the slim version, try using the new-firmware branch (the branch name is misleading, now that I think of it). Let me know if it doesn't work. I don't have a slim device to test with.

For those with the original switchmate, I'll post the homebrew firmware here later today along with instructions. Stay tuned! (cc @sbastami)

F1nny commented 7 years ago

@brahmafear Slim 2.9.3 almost sure didn't have authentication enforced so still works without anything special however the next release for the slim IS in the queue and did have it back on but at the time of release if someone pings me I'll get you covered if we don't have the better avenue in place by that time

brahmafear commented 7 years ago

Apologies - turns out I have the non-slim version. Was confused by online images. I can test the homebrew firmware when posted.

sbastami commented 7 years ago

I am also standing by to test it out once it's committed.

armaanbindra commented 7 years ago

Looking forward to testing it too!! Thanks for all your help guys ๐Ÿ™‚

brianpeiris commented 7 years ago

Sorry for the delay. I'm going to write a wiki page with instructions and maybe a video as well, since the firmware update process is a bit tricky. I'll also add some debugging commands to the python script so that people can report issues with that info if needed. Will try to get to it tonight.

rjcooper725 commented 7 years ago

Hi guys!

I develop technology for disabled children (since 1984, probably before many of you were born ;-) I'm working on an iPad app to allow VERY disabled kids to turn things on/off, that they definitely cannot do, physically and many times, cognitively also, by themselves. Touching pictures of things on the screen will trigger the appliance/light.

The approach that SwitchMate has taken with the light switches is sheer genius and may make converting to smarthomes 'easier' than the hardwired options that exist today.

Anyway, we REALLY want to work with SwitchMate on getting an API out to use "commercially" even though the field I'm in, Assistive Technology, is tiny. But it's important! I'd love to include SwitchMate as compatible with our app!

And I applaud @F1nny for being so responsive in this thread!

RJ :) http://rjcooper.com

sbastami commented 7 years ago

Thanks again @brianpeiris

brianpeiris commented 7 years ago

Bad news I'm afraid. It seems I managed to brick two of my Switchmate devices while trying to record instructions for the rest of you. ๐Ÿ˜ข As such I don't think it's safe for me to recommend this homebrew firmware update yet. I'll check with @F1nny and get back to you if I have an update.

armaanbindra commented 7 years ago

@brianpeiris, anything new from @F1nny about the homebrew firmware update?

brianpeiris commented 7 years ago

At this point I think we'll have to wait for @F1nny to share more details about the interim solution he mentioned above, whenever he's ready to do so.

jbarker7 commented 6 years ago

I actually just purchased 4 Switchmate's with the hope of using this script to find out that we're at a bit of a standstill. Excited to hear back from @F1nny! Let us know if there is a way to help.

tateu commented 6 years ago

Is there any news on this? Does the "new-firmware" branch work? Are there specific models it works for and doesn't work for?

I see two regular versions for sale on Amazon, model RSM002 and RSM001WCAN. I'm not sure which of those is newer. The Amazon page says RSM001WCAN is newer, though that doesn't seem right. And then there is the new slim line version, RSM003WAMZ.

I only want these to use with voice control and I already have Amazon Alexa communicating with my Raspberry Pi via fauxmo.py, so if switchmate.py isn't working, there is no reason for me to even try any of these switches.

psolin commented 6 years ago

I finally figured it out.

Step 1: Uninstall the Switchmate app. Step 2: Try to return your model with Amazon if you're within the return window to get a new one or... Step 3: Buy this model outright -- https://www.amazon.com/gp/product/B06Y2PNX77/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1 Step 4: Don't upgrade the firmware or redownload the Switchmate app for any reason whatsoever. Step 5: Connect to Wink, scripts etc.

That's how I solved my problem. Until I get confirmation from others that the Switchmate works flawlessly with an updated firmware version, I'm simply not upgrading it.

Anyway, you guys can keep hoping and praying the mfg will fix this issue. My lights now work with Homebridge via Wink, and I couldn't be happier.

sbastami commented 6 years ago

Thanks Paul for the update on your approach and progress. We're still hoping for a script update/solution as well from Brian and the Switchmate folks.

Hoping for a neat new year's present from Switchmate ๐Ÿ˜†.

โฃSincerely, Sepehr

On Dec 16, 2017, 13:18, at 13:18, Paul notifications@github.com wrote:

I finally figured it out.

Step 1: Uninstall the Switchmate app. Step 2: Try to return your model with Amazon if you're within the return window to get a new one or... Step 3: Buy this model outright -- https://www.amazon.com/gp/product/B06Y2PNX77/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1 Step 4: Don't upgrade the firmware or redownload the Switchmate app for any reason whatsoever. Step 5: Connect to Wink, scripts etc.

That's how I solved my problem. Until I get confirmation from others that the Switchmate works flawlessly with an updated firmware version, I'm simply not upgrading it.

Anyway, you guys can keep hoping and praying the mfg will fix this issue. My lights now work with Homebridge via Wink, and I couldn't be happier.

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/brianpeiris/switchmate/issues/6#issuecomment-352205075

tateu commented 6 years ago

Thanks Paul (psolin). On your suggestion, I ended up doing the same thing. My local Home Depot has a few of the RSM001W Rocker versions in stock for a few dollars cheaper than Amazon. I picked one up today and got it working in just a few minutes with my Raspberry Pi running OSMC and a modified version of ha-local-echo (a Philips Hue Bridge emulator) and so far, through 20 or so tests, it has worked correctly via Amazon Alexa voice control. If it continues to work without issue, I'll probably pick up a few more.

anthturner commented 6 years ago

I have 2 models of the SwitchMate Bright unit so I wanted to throw some more data on this issue. On both units, I am testing the new-firmware branch at 5a0da18a0f570e10f27dd7766fd49af8ba031ba3. Neither device requires (or will even run) auth commands.

I mentioned it in my support message to Switchmate, but I'm also interested in testing any custom firmware or software on the models I have of this unit. I really like the hardware associated with these devices, and if it just takes a couple weeks of spot testing to get the software end up and running better, I'm game for it.

stock323 commented 6 years ago

hi hi not sure a fix for the non-slim version use to not toggle firmware upgrade almost broke it... changed batteries a few times.. no go just a few clicking sounds when manually pushing switch !!! then it dawned on me DELETE THE DEVICE FROM APP !!! wow like a bad wifii signal then added device under new name and old firmware

!!!! it works again I mean it works like it did 30percent not toggling or error message etc

but its back !!! neverupgrade

kk

harrylepotter commented 6 years ago

@brianpeiris so the auth code changes on every session of the app? I'm looking at btsnoop logs and getting pretty bug-eyed.

psolin commented 6 years ago

It appears that Wink is dropping support for Switchmate like I had predicted in this thread months ago. I suspect that, even though I downgraded my firmware, it will eventually break again. Just when I got it all working.

Does anyone know of a similar product made by someone else? Is there any new firmware out yet that does not break third party scripts?

Company rep guy, where are you?

valkjsaaa commented 6 years ago

@psolin How do you downgraded your firmware?

valkjsaaa commented 6 years ago

I actually figured out how to downgrade the switchmate firmware without getting a new one from amazon.

You can download the firmware like this (v2.9.3 is the last firmware that I can figure out how to toggle the lightswitch, any later than that have a very strong password mechanism that I still can't figure out):

curl -H 'x-api-key: J79FF5JimEacwfg0XvavF1Cxt3WKlGum2YQwYCum' -H 'user-agent: Switchmate/109 CFNetwork/897.9 Darwin/17.5.0' 'https://iot-dev.switchmatehome.com/stage/app-fw/versions/download/bright/2.9.3?' > 2-9-3.zip

For uploading the firmware, I uses the nordic nRF Connect on Android. It will disconnect while uploading the firmware the first time. Don't worry. The second time you try to upload a new firmware it will continue from where it has left off and finish the down/upgrade.

brahmafear commented 6 years ago

@valkjsaaa Do you have a link to download earlier firmware for the original, non-bright model? Also, could you provide more instructions on how you are using nRF Connect to apply the firmware? Thanks!

valkjsaaa commented 6 years ago

@brahmafear I have created a repository for this. Check here: switchmate-firmwares.

brianpeiris commented 6 years ago

Just a warning that I bricked two of my switchmates by doing a manual firmware update. Be careful.

swoopscience commented 6 years ago

@brianpeiris I thought I bricked my switchmates too but after a failed update the mobile app detected they were in recovery mode and i was able to get them working again. have you tried that?

anthturner commented 6 years ago

The Switchmate Bright units use the new encrypted (authenticated) preamble as of the newest firmware, 2.9.11. Having dissected some of the protocol, it is the same workflow as what @brianpeiris already described, but the address handles are slightly different. Hopefully, Switchmate will come through and we can get some sort of workaround for (or heck, implementation of) this fancy new protocol to make these units work going forward.

valkjsaaa commented 6 years ago

@anthturner Yes. I do some BLE sniffing and found out that basically the app is writing a 32 bytes key (like 39b071b0000000338b2668fb727f9421) to a22b0230-ebdd-49ac-b2e7-40eb55f5d0ab, which is different for each session. I couldn't find a pattern on the value it writes yet though. That why I came up to those downgrade solution, to workaround this key problem.

I tried to decompile the Android app trying to find out the key generation program that they are using but I'm not good at it. Maybe @scottjg can help on this one? He found the original hashing algorithm for the older firmware.

anthturner commented 6 years ago

Unfortunately for some models of Brights (as I noted in an earlier post) there is a firmware bug that causes the unit to randomly turn on and off. That means downgrading is likely not a good solution for these models, as the downgraded (non-authenticated) firmware doesn't actually work. :)

The model variant I'm seeing this with specifically is the A32D104417.

valkjsaaa commented 6 years ago

@anthturner I wonder the firmware you mentioned which will randomly turn on and off is 1.46 or 2.9.3 or both? If only 1.46 is randomly turning on and off, I actually knows the protocol to turn it on and off stably on 2.9.3 (which I implemented in valkjsaaa/node-switchmate3 and later got adopted into emmcc/node-switchmate).

valkjsaaa commented 6 years ago

@anthturner Sorry that I found your post on this thread. (I thought it is on another thread.) Does the latest firmware solve this problem? This looks like a hardware problem (maybe)? I have brought one Switchmate which turns on and off on itself erratically and it won't even respond to touch control sometimes. I just returned them to Amazon.

F1nny commented 6 years ago

Hey all! My apologies for the delayed reply has been a very busy new year as we've been in the midst of the complete rewrite from the ground up for the App+FW which is a major improvement since we've been fighting a somewhat tricky foundation for far too long. Anyway onto the point of what you guys are wanting - have some good news, for the time being we've tweaked the auth a bit so long story short you all should have no problems interfacing with your devices as you did prior after updating your Device FW, this applies to the Bright/Slim and Original/Switchmate only.

Note you'll need to be on App Version 3.2.0+ to receive the update prompts for these auth-modified versions: Bright/Slim (Slim Device with Motion Sensor): FW v2.9.15+ Light/Original/Switchmate (No Motion Sensor): FW v2.99.18+

Meantime on the 4.0 roadmap as mentioned previously is the public interface/API and we're in discussions with IFTTT for easier integration and will be getting back to our Tasker plugin with 4.0 as well. Realistically because we're hoping to launch 4.0 App/FW by end of Q1 in tandem with a new product it is unlikely the public API will launch with it, but once that initial launch is complete our plates clear quite a bit since it includes upcoming device support so we can focus on our user feedback including the API! We'll provide more information as we get closer here :)

As to the recent comments:

REMEMBER: Using nRFConnect and manually traversing FW Versions increases the chance of bricking your units (beyond just being stuck in bootloader/recovery mode-capable) - while it should be OK here and there, there are many variables per above - don't want to get an unreleased version or try traversing across Bootloader/SD versions which will get it stuck permanently. Of course goes without saying doing so voids your warranty.

I'll try to keep an eye out here as usual and provide suggestions-updates-ideas when able but we will not replace units bricked from tinkering, additionally as mentioned in the past any such feedback or even instructions/ideas from me are take as you will and completely at your own risk :)

Anyone receiving random toggling (Bright/Slim) give a shot with the latest and should email our support if it persists and we'll see what can figure/get you taken care of. Though I'm going to take a quick look back on that issue as was thought to be closed but based on what I see above via @anthturner I may have an idea (Thanks!), if so may be an additional version bump for the bright in the near future if can confirm

Be prepared for some very exciting news, products, and major updates from Switchmate this year!

@brianpeiris @rjcooper725 @armaanbindra @jbarker7 @tateu @sbastami

brianpeiris commented 6 years ago

Thanks for the update and the good news @F1nny!

It looks like version 3.2.0 of the app hasn't hit the Play Store yet, if I'm not mistaken. I see version 3.1.9, updated Feb 6, so I assume 3.2.0 is still rolling out.

In any case, I've merged the new-firmware branch into master, since I think the implementation will work with the 2.99.18+ firmware. If not, I will investigate once I get the update.

Oddly enough, it looks like my switchmate device now has firmware version 2.99.16, which I can actually switch on and off with the python script. Not sure when that firmware was released, but perhaps it already has the authless tweak ๐Ÿคทโ€โ™‚๏ธ

Note, I only have one of the original switchmate devices, so I'd appreciate any help testing the newest firmware with the other models. The master branch now has a ./switchmate.py <mac_address> debug command, which will print out debug info about your device that might help us figure things out in case any of you run into problems.

Anyway, glad to be back on track with these devices. I just moved to a new apartment and I have a bunch of switches that need automating ๐Ÿ˜„