Drivers for Samsung Appliances controlled via SmartThings Cloud API

Really, you can poll as well as send commands. The commands sent will not impact the overall performance unless you are doing a stress test.

As far as fast polling is concerned, I believe you need to think before you start using. Although it is a good bragging point, what is the use case for fast polling. Example, do you have a time critical action that must run when event XXX is detected? What is the time criticality time frame in seconds/minutes?

  • When my washer finishes, I do not need to be there is seconds. Therefore I use a 1 Minute poll when the device is on. Same for the dryer when it finishes drying and goes in to wrinkle guard mode.
  • Refrigerator: This is almost all information. 30 minute polling is sufficient unless I have noted some issues.
  • Oven: I only need to poll once the cycle has started. Again, a minute is usually sufficient; however, 5 seconds works well also. Again only run when device is on.
1 Like

Hola,

First of all thanks for the effort in this integration, it will really help a lot instead of having to use WiFi/IR repeaters.

I performed the installation and sorry if this has already been commented on and I am repeating, but I have some comments:

  • I see that the drive behaves like a switch, i.e. similar to integrations I have like Honeywell Total Confor, when you trigger the thermostat in Cool mode, it already turns on, not needing the ON step;
  • In this situation, I see that when exporting to the Home Bridge, it does not appear in the thermostat section, but rather as a simple on/off switch, which does not allow you to control the temperature.

However, it is already much better than before, and I wish you success in your work, it has already helped a lot.

PS: I am integrating a Samsung WindFree air conditioner (AR12TSFABWKXAP)

1 Like

I will look at this later this week. Currently working a Samsung Soundbar direct LAN driver (always better for direct LAN) for the later QI model soundbars with Wifi.

1 Like

Forgive me, I am lost. I installed the drivers I needed but cannot for the life of me figure out where to enter my Smartthing ID and save it. In my list of drivers code, I can see "Samsung Washer" and the dryer I added the driver for, but after that, I'm lost.

You need to add the devices themselves. Create a virtual device and select your appliance as the device type. In the device preferences page, you'll enter the SmartThings info.

Got it. Thanks!

Fantastic work,

Super easy to setup! And finally a solution to linking all my Samsung gear to my Hubitat madness!

I read that you don’t take donations but surely I can help in some way !?!?

Thanks again @djgutheinz :smiley:

Give a donation to a charity of YOUR choice or help someone in your neighborhood when they need it. Pass on a good turn and always be king to others.

5 Likes

I’ll be sure to pass on the good deeds and drop some money to my local McMillan

Thanks again bud

Hi @djgutheinz

I will not repeat thanking you for the drive, and I liked the story of the donation, and I will do as you said, sure there is someone we can help.

I wanted to ask for your support, on the drive for HVAC, I do not understand much of the code, but with a quick overview it seems to me that should do what I commented above, to put the thermostat in cool already would turn on the air, thermostat mode set to off would also turn off.

I think this function has a problem because doing tests, the Set Thermostat Mode, no matter what is set always stays cool, I tried setting it off, heat, and the variable thermostatModel follows with content cool.

Would it be possible for you to check it?

Thanks.

What capability is HomeBridge looking for??? My inclination is to convert the driver to Capability Thermostat, removing redundant commands and capabilities. This will take a while and some verification testing.

If this helps, if I add my Nest thermostat to the popular Homebridge Integration app this is the capabilities it is sending over to Homebridge. I used to use this and it worked mostly, but there is a direct plugin for Nest on Homebridge that I use now which works better.

So maybe you do not need to remove capabilities, but just add the Thermostat one to it?

image

1 Like

Samsung Thermostat mode control.

Issue: essentially, the Samsung HVAC internal thermostat is not a common thermostat. I (usually) has only one setpoint, manual control of cool and heat. When in auto mode, it maintains the single setpoint. For the internal auto mode, I could not find documentation on temperature range.

Solution Proposed: I have created a design for mode control that uses the common capability Thermostat model as a basis. The user will have the option to use Samsung Auto or standard thermostat Auto when selecting Auto mode on the thermostat. This should allow integration with the thermostat scheduler as well as dashboard tiles (I have expanded my simulator to test this). The design documentation is below.

Comments are encouraged.

ThermostatModeControl: [
	attributes: [
		coolingSetpoint: [capability: Thermostat, method: userEntry, type: integer],
		heatingSetpoint: [capability: Thermostat, method: userEntry, type: integer],
		thermostatSetpoint: [capability: Thermostat, setOn: modeChange, type: integer]
	setThermostatMode: [
		heat: [actions: [
			note: automatically turns on HVAC,
			setThermostatMode: heat,
			setThermostatSetpoint: heatingSetpoint]],
		emergencyHeat: [actions: [
			note: not supported by Samsung HVAC,
			setThermostatMode: heat,
			setThermostatSetpoint: heatingSetpoint]]
		cool: [actions: [
			note: automatically turns on HVAC,
			setThermostatMode: cool,
			setThermostatSetpoint: coolingSetpoint]],
		dry: [actions: [
			note: automatically turns on HVAC,
			note: Samsung custom mode,
			setThermostatMode: dry]],
		wind: [actions: [
			note: automatically turns on HVAC,
			note: Samsung custom mode,
			setThermostatMode: wind]],
		off: [actions: [
			setOnOff: off]],
		auto: [prefEmulateThermostat:
			   definition: [
				   true: Emulates a standard thermostat in auto mode,
				   false: Uses Samsung HVAC internal auto mode],
			   trueOperation: [
				   tempRange: [
					   >=coolingSetpoint: [
						   thermostatMode: cool,
						   thermostatSetpoint: coolingSetpoint]
					   <=heatingSetpoint: [
						   thermostatMode: heat,
						   thermostatSetpoint: heatingSetpoint]
					   otherwise: maintains last value],
				   setpointControl: [
					   preference: setpointOffset,
					   Calculation: [
						   [setHeatingSetpoint: 
							assure coolingSetpoint >= heatingSetpoint + setpointOffset],
						   [setCoolingSetpoint: 
							assure HeatingSetpoint <= coolingSetpoint - setpointOffset]]]],
				   falseOperation: [
					   note: uses Samsung Internal auto or aIComfort settings,
					   setpointControl: [
						   defaultValue: thermostatSetpoint,
						   valueChange: setThermostatSetpoint]]]
	]
	]
]

Hi @djgutheinz

When I was using ‘HA’ I’m pretty sure I was using this as a device controller for all of my Samsung gear,

> HA SmartThings

I haven’t the slightest clue if you could implement it into your coding or use it as a reference, but I know this was working flawlessly with my ac

Thanks again

H

1 Like

Hi, excuse my total lack of knowledge. Where should I be using / adding this code? Thanks.

I have been using the Samsung TV remote with some success. I'm about to try the driver for the Samsung range. I'd like to try on my dishwasher, but note that there isn't a driver for it. Any plan to have one for the dishwasher? Thank you.

Give me a week or two, then I will get some data from you to get the driver working. I do not have one, but i have an easy way to create.

Wonderful! Thank you.

@djgutheinz . Hey Dave so I am trying to do this for my Samsung Refrigerator and seeming to get an error but will admit I am probably just missing something. Any ideas?

Samsung HVAC Driver Upate to B0.70.

A new version of the Samsung HVAC driver is now at the GitHub location.
Update instructions.

  • Install the new code into the existing driver. Save driver
  • CRITICAL: Open the device's page and run Save Preferences.

Changes:

  • A huge thanks to GitHub user andrepintorj for testing and patience while finalizing this version.
  • Updated the Capabilities, commands and attributes to allow operation as a Hubitat Thermostat as well as a mode to use the Samsung HVAC internal "auto" mode.
  • Added a command to turn on/off the panel light.

Notes on Operation.
Commands. The thermostat can be fully controlled by the following commands

  • Set Heating Setpoint: Modifies heatingSetpoint
  • Set Cooling Setpoint: Modifies coolingSetpoint
  • Set Samsung Auto Setpoint
    • Modifies samsungAutoSetpoint
    • Used when the mode is set to samsungAuto (i.e., using the HVAC-internal auto mode control)
  • Set Thermostat Fan Mode
  • Set Thermostat Mode

Thermostat Mode Notes

  • Auto Mode emulates a traditional wall thermostat
    • uses Heating Setpoint and Cooling Setpoint
    • When temperature transitions to greater than Cooling Setpoint
      • sets the Samsung HVAC mode to Cooling
      • sets the Samsung HVAC (single) setpoint to the Cooling Setpoint
    • When temperature transitions to less than Heating Setpoint
      • sets the Samsung HVAC mode to Heating
      • sets the Samsung HVAC setpoint to the Heating Setpoint
  • Samsung Auto Mode uses the internal Samsung HVAC Auto mode
    • When entering mode, Samsung HVAC is set to the Samsung Auto Setpoint
  • Heat Mode:
    • When entering mode, sets the Samsung HVAC to Heat Mode
    • Sets the Samsung HVAC to Heating Setpoint
  • Cool Mode:
    • When entering mode, sets the Samsung HVAC to Cool Mode
    • Sets the Samsung HVAC to Cooling Setpoint
  • Wind / Dry Mode simply sets the Samsung HVAC to the selected mode
  • Off: Sends off command to the Samsung HVAC
    • To get out of off, simply a different mode

Easiest Testing and use: Testing is simplified for by creating a dashboard

  • Create tile using template "thermostat". Make it 2x2 or 3x3 size for convenience.
    • This controls all modes and all temperature Setpoints EXCEPT Samsung Auto Setpoint
  • Create a tile using template "level vertical", double height.
    • Allows you to change the samsungAutoSetpoint
  • Create a tile using template attribute and attribute samsungAutoSetpoint
1 Like