tonesto7 / homebridge-smartthings

SmartThings Homebridge Plugin
385 stars 770 forks source link

[Feature Request] Setting modes of Air Conditioner #332

Open piokaczo opened 4 years ago

piokaczo commented 4 years ago

Is your feature request related to a problem? Please describe. After adding Air Conditioners to Homebridge i have no ability to set its mode or desired temperature. Currently they are just read only and I can see only current temperature, humidity and presence (I have Samsung WindFree Elite model for 2020)

Describe the solution you'd like It would be great to make changes other than turning on and off. I'd like to set:

Additional context This is homebridge log when starting up (truncated for one of my devices):

4/15/2020, 2:54:58 pm] [SmartThings-v2] GOOD: Refreshing All Device Data [4/15/2020, 2:54:59 pm] [SmartThings-v2] NOTICE: Temperature Unit is Now: (C) [4/15/2020, 2:54:59 pm] [SmartThings-v2] WARN: Devices to Remove: (0) [] [4/15/2020, 2:54:59 pm] [SmartThings-v2] INFO: Devices to Update: (2) [4/15/2020, 2:54:59 pm] [SmartThings-v2] GOOD: Devices to Create: (0) [] [4/15/2020, 2:54:59 pm] [SmartThings-v2] ALERT: Total Initialization Time: (1 seconds) [4/15/2020, 2:54:59 pm] [SmartThings-v2] NOTICE: Unknown Capabilities: ["Ocf","Execute","Air Quality Sensor","Odor Sensor","Air Conditioner Mode","Remote Control Status","Dust Sensor","Demand Response Load Control","Power Consumption Report","Air Conditioner Fan Mode","Air Flow Direction","Very Fine Dust Sensor","custom.deviceDependencyStatus","custom.error","custom.disabledCapabilities","custom.thermostatSetpointControl","custom.airConditionerOptionalMode","custom.airConditionerTropicalNightMode","custom.autoCleaningMode","custom.dthVersion","custom.energyType","custom.spiMode","custom.deviceReportStateConfiguration","custom.deodorFilter","custom.dustFilter","custom.airConditionerOdorController"] [4/15/2020, 2:54:59 pm] [SmartThings-v2] INFO: SmartThings DeviceCache Size: (2) [4/15/2020, 2:54:59 pm] [SmartThings-v2] INFO: Checking Package Version for Updates... [4/15/2020, 2:55:03 pm] [SmartThings-v2] INFO: INFO: Your plugin version is up-to-date [4/15/2020, 2:55:03 pm] [SmartThings-v2] NOTICE: Sending Plugin Status to SmartThings | UpdateAvailable: false | newVersion: 2.3.2

Frederick-G764 commented 4 years ago

I have the same issue and it's not possible to add the WindFree AC as thermostat or Fan to set the temperature.

[SmartThings-v2] NOTICE: Unknown Capabilities: ["Ocf","Execute","Air Quality Sensor","Odor Sensor","Air Conditioner Mode","Remote Control Status","Dust Sensor","Demand Response Load Control","Power Consumption Report","Air Conditioner Fan Mode","Air Flow Direction","Very Fine Dust Sensor","custom.deviceDependencyStatus","custom.error","custom.disabledCapabilities","custom.thermostatSetpointControl","custom.airConditionerOptionalMode","custom.airConditionerTropicalNightMode","custom.autoCleaningMode","custom.dthVersion","custom.energyType","custom.spiMode","custom.deviceReportStateConfiguration","custom.deodorFilter","custom.dustFilter","custom.airConditionerOdorController"]

piokaczo commented 4 years ago

Yes. It is shown as a switch.

lslomczynski commented 3 years ago

Dear All,

I would like to highly support this enhancement request as I've got Samsung Windfree AC installed recently :-) Right now I can only turn it off and on in a "classic" mode and read humidity and temperature values. Possibility to set desired temperature and turn the AC on in the "Wind free" mode would be fantastic.

Should you require any additional support for testing / troubleshooting please let me know and I'll do my best to help, although I am not an "advanced" user.

[SmartThings-v2] NOTICE: Unknown Capabilities: ["Ocf","Air Conditioner Mode","Air Conditioner Fan Mode","Fan Oscillation Mode","Air Quality Sensor","Odor Sensor","Dust Sensor","Very Fine Dust Sensor","Remote Control Status","Power Consumption Report","Demand Response Load Control","Execute","custom.spiMode","custom.thermostatSetpointControl","custom.airConditionerOptionalMode","custom.airConditionerTropicalNightMode","custom.autoCleaningMode","custom.deviceReportStateConfiguration","custom.energyType","custom.dustFilter","custom.veryFineDustFilter","custom.deodorFilter","custom.electricHepaFilter","custom.doNotDisturbMode","custom.periodicSensing","custom.airConditionerOdorController","custom.disabledCapabilities","samsungce.driverVersion"]

Frederick-G764 commented 3 years ago

I have made a quick and dirty fix to add the temperature settings for the AC to Homekit. Just change the fowling in the file “ST_ServiceTypes.js”

Replace this line:

new ServiceTest("thermostat", accessory => (accessory.hasCapability('Thermostat') || accessory.hasCapability('Thermostat Operating State') || accessory.hasAttribute('thermostatOperatingState'))),

with this one new ServiceTest("thermostat", accessory => (accessory.hasCapability('Thermostat') || accessory.hasCapability('Thermostat Operating State') || accessory.hasCapability('custom.thermostatSetpointControl') || accessory.hasAttribute('thermostatOperatingState'))),

restart Homebridge and then you should have a thermostat control for your Samsung AC in Homekit

bkonings commented 3 years ago

This change works great, I am able to set the temperature just fine this way :)

mitchoklemen commented 3 years ago

Tom2Drake ... where do I find that file? I run homebridge in Docker.

Thanx, Mitcho

bkonings commented 3 years ago

/node_modules/homebridge-smartthings/src/

mitchoklemen commented 3 years ago

tnx bkonings...and Tom2Drake, it works top!

MB-Jan commented 3 years ago

new ServiceTest("thermostat", accessory => (accessory.hasCapability('Thermostat') || accessory.hasCapability('Thermostat Operating State') || accessory.hasCapability('custom.thermostatSetpointControl') || accessory.hasAttribute('thermostatOperatingState'))),

This worked beautifully. Can this please be added to the next version of the plugin? Also is there a quick way to add a switch for the AI and WindFree options?

agamboagg commented 3 years ago

new ServiceTest("thermostat", accessory => (accessory.hasCapability('Thermostat') || accessory.hasCapability('Thermostat Operating State') || accessory.hasCapability('custom.thermostatSetpointControl') || accessory.hasAttribute('thermostatOperatingState'))),

restart Homebridge and then you should have a thermostat control for your Samsung AC in Homekit

Thank you for this! As MB-Jan comments, is there a way to create a switch for Windfree? Additionally, I don't know if it happens to you, but my humidity indicator always shows 0%.

snappytoes1 commented 2 years ago

I have made a quick and dirty fix to add the temperature settings for the AC to Homekit. Just change the fowling in the file “ST_ServiceTypes.js”

Replace this line:

new ServiceTest("thermostat", accessory => (accessory.hasCapability('Thermostat') || accessory.hasCapability('Thermostat Operating State') || accessory.hasAttribute('thermostatOperatingState'))),

with this one new ServiceTest("thermostat", accessory => (accessory.hasCapability('Thermostat') || accessory.hasCapability('Thermostat Operating State') || accessory.hasCapability('custom.thermostatSetpointControl') || accessory.hasAttribute('thermostatOperatingState'))),

restart Homebridge and then you should have a thermostat control for your Samsung AC in Homekit

The system does not allow me to save the updated file. How can I do it?