[Release] JSmartApp - iOS SmartThings client

Update: JSmartApp is now released and available in the App Store. Visit JWerfel.com for more details.

Post below has more details:


I am ready to start testing my JSmartApp application - an iOS SmartThings client. Many have complained about the performance of the SmartThings app when accessing devices. Connection errors and overall slowness in the native client. JSmartApp is fast and easy to use to access and control your devices.

JSmartApp is for accessing and controlling your devices, it does not replace the SmartThings client for adding and configuring devices but once that is done, using your devices with JSmartApp is much easier. JSmartApp also includes innovative options like using NFC tags to quickly access devices.

For more information, visit JWerfel.com

If you are interested in testing the app, join the TestFlight here: Join the JSmartApp beta - TestFlight - Apple

If you have any questions or issues, contact me at info@jwerfel.com

Thank you,
Julian

3 Likes

Looks really nice, unfortunately I am an Android user.

1 Like

Interesting! A little feedback so far:

It would be good to include what token scopes are required on this screen:

I’m getting and error after adding my token. I’m guessing I’m missing a scope?

Yeah you are probably missing the location scope. I have them listed on JWerfel.com but adding to the app would make it easier.

You need:

  • Devices: List all devices, See all Devices, control all devices
  • Locations: See all Locations
  • Scenes: See all scenes, Control this scene
1 Like

Ok, got it working now that the token scopes are correct. A couple more questions:
Does the favorites tab always require pulling down to refresh the device status? Mine doesn’t Automatically update.

Where does the “Executing Locally” data come from? This particular device is an Edge driver so should say True for executing locally.

Right now the favorites only refresh when you pull down. I had been thinking about auto refreshing when you go to that tab so I can add that functionality.

I just looked at the code and I see the issue with the zigbee device executing locally property. There is a bug preventing zigbee devices from showing this value correctly. I don’t have any zigbee devices using Edge so I wasn’t able to test this on my own. I’ll get this corrected.

Thanks for your help testing and let me know if you have any other comments. I’ll be sure to include these changes in the next build.

Julian

1 Like

Is there any way to have local App <-> Hub control? All of this work getting things running locally and if the internet goes down I still cant control anything. Seems largely pointless, except to reduce Samsung’s cloud costs. Is there a SmartThings LAN of any kind?

Unfortunately I don’t think there is an API that talks directly to the hub. If your internet is offline then your local routines would still work and local devices can still be controlled. But I can’t think of a way to have an app control devices in this same way

1 Like

I was afraid that was the case.

This is great stuff. I like this a lot for control. I think my favorite feature is the Device URL generator. I love using NFC tags and this makes it easy to do so. Quick question… any way you can add the same URl generator feature to scenes? It’d nice to be able to execute a scene via NFC. Right now I’m using Voice Monkey to that but that’s going thru 3 different cloud servers to execute the command. Works nice but I think this would be hell lot better if able to. Cheers Mate

1 Like

Hey Julian,

Some ideas for you:

  • I second the request for an auto-refresh of the favorites as well as device statuses in the rooms.
  • Add a control for the devices without having to go “in to” the device itself.
  • Any chance you can control STHM - meaning “dismiss” an alarm once it’s been activated? That’s one of the things I’d really need to switch away from the Smartthings app.
  • Consider widgets at some point to either control devices or control Scenes.
2 Likes

Thanks for the feedback.

  • Yeah I can make scenes trigger from a URL that you can use with an NFC tag. I’m glad that feature is useful!
  • Auto refresh will be included in the next build.
  • For control of devices, right now you can swipe on switches to turn them on/off. What other control would you want to be able to quickly access?
  • I don’t think the API provides access to STHM but I’ll look into it more
  • I’ve been thinking about different widget options, I’ll keep that in mind

Thanks again for the ideas and for testing. I’ll have a new build in a day or two with the changes.

Julian

Nice work.

For those that are not aware Julian also has an Apple Watch app and it works great.

Blows my mind that apps using the API run so much faster and smoother than the native SmartThings iOS app.

4 Likes

Thank you, I didn’t see this initially. I was thinking of the Smartthings configuration with tiles where there was a control button on the tile as well as when you open the device to see its details. What you have should work now that I know it’s there!

This is key for me and part of the reason I never switched to another control app in the past. I do use STHM and once it’s triggered (which happens often enough), then I need to be back in the Smartthings app to give it a formal “dismiss”. I had every intention of switching to Home Remote at one point, but this is the requirement that always brings me back to the Smartthings app. I’ve even tried to create Routines to duplicate the STHM functionality so I wouldn’t need to use STHM, but it didn’t work well.

I wish ST would allow access to this, or allow a DISARM command to dismiss the alert in the system.

Some other ideas (or please tell me how to find them if they are already there :slight_smile: ):

  • Change and save order of Favorites, Rooms, devices, and scenes.
  • Allow for selection of which status items (or which order) that are displayed on the devices in the Rooms and Favorites screens. For example, if I’m using a multipurpose sensor and only use it for temperature readings, don’t display the contact, vibration, and battery parameters; or at least permit an order change to see temperature first.

What I have done as created a Scene in ST to silence all audible alarms. And a virtual switch that runs the Silence Scene.

The Silence Scene widget is located on my home screen. So I can quickly silence all alarms without opening the ST App. Then at my convenience I can go back into the ST App and dismiss the alarm.

You could use the Silence Scene or virtual switch in HomeRemote or JSmartApp to do the same thing.

I’ve looked around and there doesn’t seem to be an API way of controlling STHM. This is an issue that impacts users of ActionTiles and SharpTools. The suggestion from @Paul_Oliver seems like a good option.

Version 1.1.9 will be available soon in TestFlight and includes the following updates:

  • Status page of devices
  • Reload favorites automatically
  • Create a URL to execute a scene (can be used with an NFC tag)
  • Fix for displaying zigbee details
  • Fix for getting more device events

Thank you @mooch91 for the ideas. I’ll look into supporting custom sort order (right now everything is alphabetical). I am planning to add options for each device to turn on/off certain attributes that are not useful.

Thanks everyone for the comments and for helping to test. Keep the feedback coming!

Julian

Version 1.1.10 is now available in TestFlight (link at the top if you want to join).

This version includes:

  • Device properties can be turned off (so if you don’t care about the contact value for a sensor you can hide that property)
  • Favorites, scenes, and rooms can be custom sorted
  • Bug fix for thermostat set points

One idea I had is to support URLs for commands (turning a light on/off) which could then be used with an NFC tag. You can do some of that right now with a scene but individual commands might be useful as well.

Let me know if you have any issues or other ideas to add.

Thank you,
Julian

I’m seeing oddities for virtual edge devices. They are showing false for executing locally. I’m using this driver for virtual garage and virtual presence