Drivers for Samsung Appliances controlled via SmartThings Cloud API

This series of drivers uses the SmartThings Cloud to control the referenced Samsung Appliance. It does not require a SmartThings Hub, but does require a SmartThings account as well as access to the SmartThings app on you phone. There are some special installation instructions contained in the references below.

GitHub Repository: HubitatActive/SamsungAppliances at master · DaveGut/HubitatActive · GitHub

Installation Details: HubitatActive/README.md at master · DaveGut/HubitatActive · GitHub

HPM Installed with tag "appliances"

Version 1.1 Additions:

  • Added Flex compartment child drivers for Washer and Dryer
  • Added Soundbar driver (for those soundbars that can not use the Multiroom App)

Version 1.2 Changes

  • fixed child install for Refrigerator
  • fixed logging to eliminate unnecessary log.trace messages
  • added capability AudioNotification (for user test) to Soundbar.
14 Likes

Remember that this is an initial set. If a device can be controlled by SmartThings and there is no other way via Hubitat to control the device, a driver is likely possible.

Thanks! Going to check this out for my fridge, washer, and dryer

Does this driver use polling of the Smartthings API, or does it setup a endpont for events in Smartthings to push to?

It uses polling of the ST interface.

I'd love to try this on my fridge, but I've never seen install directions like this (Browser import feature?) I saved the parent and three child drivers under the Driver Code section, but I'm guessing that's wrong?

Not wrong. The inmport function on the driver's edit page is just a shorcut. what you have done is correct.

Can't wait to try this out at some point between now and the end of August when my new Bespoke set comes in.

Hi @mavrrick58 and @djgutheinz.
I am currently using Node Red and the somewhat complicated setup to control and sync samsung HVAC units in my system. As complicated as the setup was, it is working 100%.
My current setup allows me to operate the HVAC units from ST application, wall thermostats or Hubitat virtual and keep them in sync.
Is this new driver method capable of doing the same thing?

Do you need immediate notifications from Smartthings or is polling ok. I believe this driver does polling.

1 Like

I can't tell you if it does that. My objective is no external server (nodeRed) and simple set-up for the average user.

The driver is in Beta an the integration is quite simple to command devices. The ST messaging is easy to understand and parse and the command structure is also very easy to create (component - capability - command - argument) in Groovy.

Synching. When sent from Hubitat, data is updated in about 1 second. Updates using the thermostat or SmartThings takes an average of 1/2 the set poll interval. For those cases, the user needs to determine the criticality of that syncing to set the poll interval to his needs. For cases where the sync is for some very time-sensitive function, it could be implemented to allow as low as a 5 sec poll interval - but it will have a higher hub utilization rate.

2 Likes

Thank you for clarifying. I guess I’ll stick to my current setup as polling 6 thermostats every 5 seconds or so will not be accurate enough for my needs and will probably have bad influence on the hub performance.
Thanks again.
Amit

If you have or dare to set it up you could use Node-Red with the Samsung automation studio pallet to get events from Smartthings. The hard part of setting it up is you need always on computer that can expose a Node-red endpoint with SSL/TLS.

I have this running on my unraid server and works pretty well, but a little bit of a pita to setup.

This is exactly my current setup I was referring to.
It is working great but I am always worried that I might not even remember what I did to make it work. I used your instructions a year ago without really knowing what what I was doing😅

For hubitat performance, could you run a test and get the device stats for a 24 hour period? I want to compare with running a 5 second poll and see how bad it is.

Dave

It would be intersting to see the difference in load. The other thing to consider is rate limits. If Samsung ever implements rate limits you may find it only works at times.

Node red should offload allot of load if you have your flow setup to only send changes to the virtual devices.

I fail to understand the logic behind Samsung not exposing events to the API. I am not a developer so I might be missing same basic understanding, but really, can you understand this logic?

Actually, Samsung has expose events through the new API's. The problem is that for use to use them we have to setup a endpoint for Samsung to send the events to. That endpoint has to have encryption enabled, and has to use a web accessible by host name. The polling option we use in this driver and with Samsung Automation Studio was news to me when I saw it. Honestly if load is kept to a minimum this driver may be a better option if only polling is used.

What this really comes down to is Samsung wants to keep track of the devices but doesn't want the wild west when it comes to apps we create running on their servers. So what they have done is make the API's so they can send the events to us and then we process them on our gear and just call back to them to execute. This minimizes their overhead for the environment and puts most of the grunt work on whatever we have running on our side. This is why I like Samsung Automation Studio as it makes setting up the app on our side much easier. Otherwise you would have to develop the ap following Samsung's life cycle management for the APi, and program all of the activities. Node-Red makes it much easier. The problem though is you still need to enable a web accessible always on host and use security to connect to it. That is the purpose for Duckdns, and NGINX in the directions i wrote you followed.

I will say this once you have it setup though you can create new apps in a matter of a few minutes and it has worked pretty darn flawlessly for the entire time I have had it setup.

1 Like

I second that.

Your explanations are very much appreciated.
Thanks

This series performance.

I modified the beta code for a quick poll test on my TV Driver. Then reset the device stats. Result: 0.18 % of total available time. Not bad at all.

Also check ST Rate Limit. It is 12 per minute for device status polling (every 5 seconds).

Device schedule:

Stats:
image