Smartthings status information is buggy

As for now, I am developing a smartthings php lib for smarthome integration and hit a problem which I cannot solve.

It looks like that the API is not delivering correct supportedModes.

This is what json-Request give me as options but it’s not correct as this unit also has “aiComfort”-Option, too.

This means if I set airConditionerMode to “auto”, the mode is not “auto” but aIComfort.

stCloud:Fields"{"commands":[{"component":"main","capability":"airConditionerMode","command":"setAirConditionerMode","arguments":["auto"]}]}"

This is the report from smartthings-cli:

? Select a capability. 2
─────────────────────────────────────────────────────────
Attribute Value
supportedAcModes [“cool”,“dry”,“wind”,“auto”,“heat”]
airConditionerMode “aIComfort”

and this is the json-data retrieved:

[airConditionerMode] => Array
(
[supportedAcModes] => Array
(
[value] => Array
(
[0] => cool
[1] => dry
[2] => wind
[3] => auto
[4] => heat
)

                [timestamp] => 2021-10-26T04:33:18.444Z
            )

        [airConditionerMode] => Array
            (
                [value] => cool
                [timestamp] => 2022-08-12T08:25:12.168Z
            )

    )

I can also reproduce this problem by cli completely. It also looks like that “heat” is auto which is totally wired up:

─────────────────────────────────────────────────────────
./smartthings devices:capability-status xxxx main airConditionerMode
─────────────────────────────────────────────────────────
Attribute Value
supportedAcModes [“cool”,“dry”,“wind”,“auto”,“heat”]
airConditionerMode “cool”
─────────────────────────────────────────────────────────
./smartthings devices:commands xxxx ‘main:airConditionerMode:setAirConditionerMode(“auto”)’
Command executed successfully
./smartthings devices:capability-status xxxx main airConditionerMode
─────────────────────────────────────────────────────────
Attribute Value
supportedAcModes [“cool”,“dry”,“wind”,“auto”,“heat”]
airConditionerMode “aIComfort”
─────────────────────────────────────────────────────────

./smartthings devices:commands xxxx ‘main:airConditionerMode:setAirConditionerMode(“heat”)’
Command executed successfully
./smartthings devices:capability-status xxxx main airConditionerMode
─────────────────────────────────────────────────────────
Attribute Value
supportedAcModes [“cool”,“dry”,“wind”,“auto”,“heat”]
airConditionerMode “auto”
─────────────────────────────────────────────────────────

@nayelyz, could you have a look at this issue? It seems to be some inconsistency in the API.

1 Like

I found one more problem with “supportedAcOptionalMode”.

The unit outputs “quiet” but this entry is not in the list of supportedAcOptionalMode and if I set “quiet” as option, the mobile phone app tells me that the unit is offline. Unit comes back within 3-4 seconds.

Please look at this, too. I will also put a complete scan of the unit just in case you need model/device-type.

I only removed the device-id.

{
    "relativeHumidityMeasurement": {
        "humidity": {
            "value": 55,
            "unit": "%",
            "timestamp": "2022-08-12T13:27:00.492Z"
        }
    },
    "custom.airConditionerOdorController": {
        "airConditionerOdorControllerProgress": {
            "value": null
        },
        "airConditionerOdorControllerState": {
            "value": null
        }
    },
    "custom.thermostatSetpointControl": {
        "minimumSetpoint": {
            "value": 16,
            "unit": "C",
            "timestamp": "2022-08-12T12:27:48.205Z"
        },
        "maximumSetpoint": {
            "value": 30,
            "unit": "C",
            "timestamp": "2022-04-20T05:19:30.048Z"
        }
    },
    "airConditionerMode": {
        "supportedAcModes": {
            "value": [
                "cool",
                "dry",
                "wind",
                "auto",
                "heat"
            ],
            "timestamp": "2021-10-26T04:33:18.444Z"
        },
        "airConditionerMode": {
            "value": "cool",
            "timestamp": "2022-08-12T12:30:02.146Z"
        }
    },
    "custom.spiMode": {
        "spiMode": {
            "value": "off",
            "timestamp": "2021-07-12T17:56:54.515Z"
        }
    },
    "samsungce.deviceIdentification": {
        "micomAssayCode": {
            "value": null
        },
        "modelName": {
            "value": null
        },
        "serialNumber": {
            "value": null
        },
        "serialNumberExtra": {
            "value": null
        },
        "modelClassificationCode": {
            "value": null
        },
        "description": {
            "value": null
        },
        "binaryId": {
            "value": "ARTIK051_PRAC_20K",
            "timestamp": "2022-06-14T04:51:59.255Z"
        }
    },
    "airQualitySensor": {
        "airQuality": {
            "value": null
        }
    },
    "custom.airConditionerOptionalMode": {
        "supportedAcOptionalMode": {
            "value": [
                "off",
                "sleep",
                "speed",
                "windFree",
                "windFreeSleep"
            ],
            "timestamp": "2021-08-14T07:48:30.802Z"
        },
        "acOptionalMode": {
            "value": "off",
            "timestamp": "2022-08-12T13:27:56.495Z"
        }
    },
    "switch": {
        "switch": {
            "value": "on",
            "timestamp": "2022-08-12T12:43:59.765Z"
        }
    },
    "custom.airConditionerTropicalNightMode": {
        "acTropicalNightModeLevel": {
            "value": 0,
            "timestamp": "2022-08-12T13:22:35.511Z"
        }
    },
    "ocf": {
        "st": {
            "value": null
        },
        "mndt": {
            "value": null
        },
        "mnfv": {
            "value": "ARTIK051_PRAC_20K_11220406",
            "timestamp": "2022-04-20T04:47:03.683Z"
        },
        "mnhw": {
            "value": "ARTIK051",
            "timestamp": "2022-04-20T04:47:03.683Z"
        },
        "di": {
            "value": "xxxx",
            "timestamp": "2021-07-12T17:56:54.297Z"
        },
        "mnsl": {
            "value": "http://www.samsung.com",
            "timestamp": "2022-04-20T05:19:29.982Z"
        },
        "dmv": {
            "value": "res.1.1.0,sh.1.1.0",
            "timestamp": "2022-04-28T07:36:06.236Z"
        },
        "n": {
            "value": "[room a/c] Samsung",
            "timestamp": "2021-07-12T17:56:54.297Z"
        },
        "mnmo": {
            "value": "ARTIK051_PRAC_20K|10217841|60010523001411010200001000000000",
            "timestamp": "2021-07-12T17:56:54.297Z"
        },
        "vid": {
            "value": "DA-AC-RAC-000003",
            "timestamp": "2021-07-12T17:56:54.297Z"
        },
        "mnmn": {
            "value": "Samsung Electronics",
            "timestamp": "2021-07-12T17:56:54.297Z"
        },
        "mnml": {
            "value": "http://www.samsung.com",
            "timestamp": "2021-07-12T17:56:54.297Z"
        },
        "mnpv": {
            "value": "DAWIT 2.0",
            "timestamp": "2022-04-20T04:47:03.683Z"
        },
        "mnos": {
            "value": "TizenRT 1.0 + IPv6",
            "timestamp": "2022-04-20T04:47:03.683Z"
        },
        "pi": {
            "value": "xxxx",
            "timestamp": "2021-07-12T17:56:54.297Z"
        },
        "icv": {
            "value": "core.1.1.0",
            "timestamp": "2021-07-12T17:56:54.297Z"
        }
    },
    "airConditionerFanMode": {
        "fanMode": {
            "value": "auto",
            "timestamp": "2022-08-12T13:16:01.714Z"
        },
        "supportedAcFanModes": {
            "value": [
                "auto",
                "low",
                "medium",
                "high",
                "turbo"
            ],
            "timestamp": "2021-07-12T17:56:54.515Z"
        }
    },
    "samsungce.dustFilterAlarm": {
        "alarmThreshold": {
            "value": 500,
            "unit": "Hour",
            "timestamp": "2021-07-12T17:56:54.515Z"
        },
        "supportedAlarmThresholds": {
            "value": [
                180,
                300,
                500,
                700
            ],
            "unit": "Hour",
            "timestamp": "2021-07-12T18:02:15.865Z"
        }
    },
    "custom.electricHepaFilter": {
        "electricHepaFilterCapacity": {
            "value": null
        },
        "electricHepaFilterUsageStep": {
            "value": null
        },
        "electricHepaFilterLastResetDate": {
            "value": null
        },
        "electricHepaFilterStatus": {
            "value": null
        },
        "electricHepaFilterUsage": {
            "value": null
        },
        "electricHepaFilterResetType": {
            "value": null
        }
    },
    "custom.disabledCapabilities": {
        "disabledCapabilities": {
            "value": [
                "remoteControlStatus",
                "airQualitySensor",
                "dustSensor",
                "odorSensor",
                "veryFineDustSensor",
                "custom.spiMode",
                "custom.deodorFilter",
                "custom.electricHepaFilter",
                "custom.periodicSensing",
                "custom.doNotDisturbMode",
                "custom.airConditionerOdorController",
                "samsungce.individualControlLock",
                "demandResponseLoadControl",
                "powerConsumptionReport"
            ],
            "timestamp": "2022-06-29T05:00:06.873Z"
        }
    },
    "custom.ocfResourceVersion": {
        "ocfResourceUpdatedTime": {
            "value": null
        },
        "ocfResourceVersion": {
            "value": null
        }
    },
    "samsungce.driverVersion": {
        "versionNumber": {
            "value": 22061501,
            "timestamp": "2022-06-28T06:36:58.066Z"
        }
    },
    "fanOscillationMode": {
        "supportedFanOscillationModes": {
            "value": [
                "fixed",
                "all",
                "vertical",
                "horizontal"
            ],
            "timestamp": "2022-06-14T04:51:59.357Z"
        },
        "fanOscillationMode": {
            "value": "fixed",
            "timestamp": "2022-07-29T20:15:33.335Z"
        }
    },
    "temperatureMeasurement": {
        "temperature": {
            "value": 20,
            "unit": "C",
            "timestamp": "2022-08-12T12:32:40.255Z"
        }
    },
    "dustSensor": {
        "dustLevel": {
            "value": null
        },
        "fineDustLevel": {
            "value": null
        }
    },
    "custom.deviceReportStateConfiguration": {
        "reportStateRealtimePeriod": {
            "value": "disabled",
            "timestamp": "2021-07-12T17:56:54.515Z"
        },
        "reportStateRealtime": {
            "value": {
                "state": "enabled",
                "duration": 10,
                "unit": "minute"
            },
            "timestamp": "2022-08-12T13:27:46.091Z"
        },
        "reportStatePeriod": {
            "value": "enabled",
            "timestamp": "2021-07-12T17:56:54.515Z"
        }
    },
    "custom.periodicSensing": {
        "automaticExecutionSetting": {
            "value": "NotSupported",
            "timestamp": "2021-07-12T18:02:19.026Z"
        },
        "automaticExecutionMode": {
            "value": "NotSupported",
            "timestamp": "2021-07-12T18:02:19.026Z"
        },
        "supportedAutomaticExecutionSetting": {
            "value": [
                "NotSupported"
            ],
            "timestamp": "2021-07-12T18:02:19.026Z"
        },
        "supportedAutomaticExecutionMode": {
            "value": [
                "NotSupported"
            ],
            "timestamp": "2021-07-12T18:02:19.026Z"
        },
        "periodicSensing": {
            "value": "off",
            "timestamp": "2021-07-12T18:22:51.363Z"
        },
        "periodicSensingInterval": {
            "value": 600,
            "timestamp": "2021-07-12T18:02:19.026Z"
        },
        "lastSensingTime": {
            "value": null
        },
        "lastSensingLevel": {
            "value": "",
            "timestamp": "2021-07-12T18:02:19.026Z"
        },
        "periodicSensingStatus": {
            "value": "nonprocessing",
            "timestamp": "2021-07-12T18:02:19.026Z"
        }
    },
    "thermostatCoolingSetpoint": {
        "coolingSetpoint": {
            "value": 19,
            "unit": "C",
            "timestamp": "2022-08-12T13:22:59.973Z"
        }
    },
    "demandResponseLoadControl": {
        "drlcStatus": {
            "value": {
                "drlcType": 1,
                "drlcLevel": -1,
                "start": "1970-01-01T00:00:00Z",
                "duration": 0,
                "override": false
            },
            "timestamp": "2022-02-22T17:39:36.759Z"
        }
    },
    "audioVolume": {
        "volume": {
            "value": 100,
            "unit": "%",
            "timestamp": "2022-07-28T21:35:02.139Z"
        }
    },
    "powerConsumptionReport": {
        "powerConsumption": {
            "value": {
                "energy": 137196,
                "deltaEnergy": 0,
                "power": 1608,
                "powerEnergy": 0,
                "persistedEnergy": 137196,
                "energySaved": 0,
                "start": "2022-06-28T06:23:52Z",
                "end": "2022-06-28T06:23:52Z"
            },
            "timestamp": "2022-06-28T06:23:52.666Z"
        }
    },
    "custom.autoCleaningMode": {
        "autoCleaningMode": {
            "value": "on",
            "timestamp": "2022-07-29T20:53:39.631Z"
        }
    },
    "samsungce.individualControlLock": {
        "lockState": {
            "value": null
        }
    },
    "refresh": {},
    "execute": {
        "data": {
            "value": {
                "payload": {
                    "rt": [
                        "x.com.samsung.da.energyconsumption"
                    ],
                    "if": [
                        "oic.if.baseline",
                        "oic.if.a"
                    ],
                    "x.com.samsung.da.instantaneousPower": "502",
                    "x.com.samsung.da.cumulativePower": "330859",
                    "x.com.samsung.da.cumulativeUnit": "Wh",
                    "x.com.samsung.da.instantaneousPowerUnit": "W"
                }
            },
            "data": {
                "href": "/energy/consumption/vs/0"
            },
            "timestamp": "2022-08-12T13:30:56.895Z"
        }
    },
    "samsungce.selfCheck": {
        "result": {
            "value": null
        },
        "supportedActions": {
            "value": [
                "start"
            ],
            "timestamp": "2022-06-14T04:51:59.167Z"
        },
        "progress": {
            "value": null
        },
        "errors": {
            "value": [],
            "timestamp": "2022-06-14T04:51:59.192Z"
        },
        "status": {
            "value": "ready",
            "timestamp": "2022-06-14T04:51:59.240Z"
        }
    },
    "custom.dustFilter": {
        "dustFilterUsageStep": {
            "value": 1,
            "timestamp": "2021-07-12T17:56:54.515Z"
        },
        "dustFilterUsage": {
            "value": 19,
            "timestamp": "2022-08-12T10:37:00.298Z"
        },
        "dustFilterLastResetDate": {
            "value": null
        },
        "dustFilterStatus": {
            "value": "normal",
            "timestamp": "2022-07-24T17:08:04.638Z"
        },
        "dustFilterCapacity": {
            "value": 500,
            "unit": "Hour",
            "timestamp": "2021-07-12T17:56:54.515Z"
        },
        "dustFilterResetType": {
            "value": [
                "replaceable",
                "washable"
            ],
            "timestamp": "2021-07-12T17:56:54.515Z"
        }
    },
    "odorSensor": {
        "odorLevel": {
            "value": null
        }
    },
    "remoteControlStatus": {
        "remoteControlEnabled": {
            "value": null
        }
    },
    "custom.deodorFilter": {
        "deodorFilterLastResetDate": {
            "value": null
        },
        "deodorFilterCapacity": {
            "value": null
        },
        "deodorFilterStatus": {
            "value": null
        },
        "deodorFilterResetType": {
            "value": null
        },
        "deodorFilterUsage": {
            "value": null
        },
        "deodorFilterUsageStep": {
            "value": null
        }
    },
    "custom.energyType": {
        "energyType": {
            "value": "1.0",
            "timestamp": "2021-07-12T17:56:54.515Z"
        },
        "energySavingSupport": {
            "value": false,
            "timestamp": "2022-02-22T17:39:36.759Z"
        },
        "drMaxDuration": {
            "value": 1440,
            "unit": "min",
            "timestamp": "2022-02-22T17:39:40.933Z"
        },
        "energySavingOperation": {
            "value": null
        },
        "energySavingOperationSupport": {
            "value": false,
            "timestamp": "2022-02-22T17:39:40.933Z"
        }
    },
    "samsungce.softwareUpdate": {
        "otnDUID": {
            "value": "EXCNQWBWKPAGK",
            "timestamp": "2022-02-22T17:39:36.759Z"
        },
        "availableModules": {
            "value": [],
            "timestamp": "2022-02-22T17:39:36.759Z"
        },
        "newVersionAvailable": {
            "value": false,
            "timestamp": "2022-02-22T17:39:36.759Z"
        }
    },
    "veryFineDustSensor": {
        "veryFineDustLevel": {
            "value": null
        }
    },
    "custom.veryFineDustFilter": {
        "veryFineDustFilterStatus": {
            "value": null
        },
        "veryFineDustFilterResetType": {
            "value": null
        },
        "veryFineDustFilterUsage": {
            "value": null
        },
        "veryFineDustFilterLastResetDate": {
            "value": null
        },
        "veryFineDustFilterUsageStep": {
            "value": null
        },
        "veryFineDustFilterCapacity": {
            "value": null
        }
    },
    "custom.doNotDisturbMode": {
        "doNotDisturb": {
            "value": "off",
            "timestamp": "2021-07-12T18:02:19.026Z"
        },
        "startTime": {
            "value": "0000",
            "timestamp": "2021-07-12T18:02:19.026Z"
        },
        "endTime": {
            "value": "0000",
            "timestamp": "2021-07-12T18:02:19.026Z"
        }
    }
}

Thanks for the tag, @GSzabados!

Welcome to the SmartThings Community, @sipiyou!

Ok, the issue is not the capability itself or the API.
In this case, who handles the capability events is the device controller, I think OCF devices (Eg. Samsung AC, Oven, etc.) still use DTH.
Also, a curious thing about OCF devices is that they work on a plugin level (app) and not through the API. This means the values showed in the API are not always complete or updated…
In this post, I shared more details about that:
Get info from API - #9 by nayelyz


For example, these are the results of a device that works with an ST Schema integration that completely interacts with the API:

In the capability event handler of this integration I set the value received in the command directly without modifying it in any way:

{
  "headers": {
    "schema": "st-schema",
    "version": "1.0",
    "interactionType": "commandRequest",
    "requestId": "383FEEC4-A49E-4094-B9F4-754C9F13EB42"
  },
  "authentication": {...},
  "devices": [
    {
      "externalDeviceId": "airConditionerMode",
      "deviceCookie": {},
      "commands": [/*This is the event received when I executed the command from the CLI*/
        {
          "component": "main",
          "capability": "st.airConditionerMode",
          "command": "setAirConditionerMode",
          "arguments": [
            "heat"
          ]
        }
      ]
    }
  ]
}

This means the device controller of your device is handling the capability events strangely and setting that value directly. In the app, do you see only the buttons “cool”,“dry”,“wind”,“auto”,“heat”?

This one belongs to the custom capability custom.airConditionerOptionalMode, this means it wasn’t defined by SmartThings but by the device’s manufacturer, only they know how it works and can correct its behavior.
So, in this case, if you need to correct the capability’s behavior, you need to contact Samsung’s Support team because we (SmartThings) don’t have access to their devices’ controllers to modify them either.

AFAIK, the OCF protocol used for those devices was implemented a long time ago and the team was working on improvements for this kind of device.
Unfortunately, there’s no more information about the status, this is a complex modification.
I’ll ask the team if they know of someone on the Samsung side that can help us out, it’s not certain if the issue is due to how OCF communicates with the app and not the API.

If for example, the custom.airConditionerOptionalMode was a “live” capability and were on the Capabilities reference, this would mean that SmartThings created it and it’s expected to work without issues.
Now, for the WWST certification, custom capabilities are not accepted because it is focused on guaranteeing the correct functionality of the whole integration and avoiding this kind of issue.

In a time when the platform is going through changes, we need to focus on improvements and if you have comments about what you’d like to see in the new tools, you can totally comment on their corresponding announcements.

We appreciate all the comments you can provide, our team is here to help in any way we can.

@nayelyz: Are you serious about your answer ?

FYI: I contacted samsung support before. First of all, I used an US email adress and the response was to get in touch with EU support. Then I sent an email to the EU support - and guess what: the same guy responsed to me.

This is the E-Mail I got from samsung developer support which is - uhm, let me explain it in a friendly way: not that helpful as the sales people will not even reply to such emails…


Thank you for reaching out. The Samsung Developer Program Technical Support team provides guidance to developers and designers who are integrating Samsung SDKs and/or using Samsung Tools that are available https://developer.samsung.com/. Unfortunately, your request is out of our scope.

Our suggestion is: try out your local distributor/sales center/customer support. For example, if you are in UK, you can try:
 https://www.samsung.com/uk/support/model/AJ068TXJ3KG/EU/

Frankly speaking: Please forward this issue to some of your managers or anyone else who can forward this to Samsung as I cannot.

It’s not a problem to have bugs inside API but you need to fix these issues.

Is it possible to communicate directly with the devices ?

/edit: You are using the same capabilities as I used - please read the commands + outputs I posted.
If I set mode to auto, it will be “aIComfort”.
If I set mode to heat, it is auto.

If you want to verify this problem, I can send you the device-id so you can check this by your own.

The issue isn’t the API, if it was, then, it would happen with all the device types in the case of airConditionerMode.

I used the same capability and commands, the difference is how the events are handler, for a better reference, this is the flow of this use case:

  1. You send a command to the device using the API.
    • Or the app, the difference is that, in the app, the tiles call specific commands (according to the capability’s presentation). Using the API you can call others like an enumCommand instead of a setter
  2. The command is received by the device controller (DTH, Edge driver, ST Schema, etc.). There, the handler for the specific command takes the event and processes it.
    • This includes - sending the new state to the physical device and saving that state for the capability (it depends on the device integrator how the events are processed). For example, using a DTH as a reference, I can define a handler like this:
def setAirConditionerMode(argument) {
	log.debug "setAirConditionerMode()..."
	// send command to physical device
    // send capability event to save the value in the device's data
   // If this is missing, the value isn't saved and we can't query it using the API:

// this means despite I receive a command argument. Eg. "heat" I set "aIComfort" instead.
        sendEvent(name:"airConditionerMode",value: "aIComfort") 
// Here, we send the argument as it is, so the new capability state would have "heat"
        sendEvent(name:"airConditionerMode",value: argument) 
}

Note: If the device controller doesn’t have a handler for the command, you’ll receive a 422 - Unprocessable Entity error.

So, in this case, we need to investigate what’s causing the behavior, if it was intended or if there’s something else behind it. I already asked the team about it.

Please help us with the following info and actions:

  • Provide access to your device’s data:
  1. Go to the SmartThings Web (my.smartthings.com)
  2. Log in to your Samsung Account
  3. Select Menu (⋮) and choose Settings
  4. Toggle on Account Data Access
  5. Select the time period and confirm - In this step, please select “Until turned off”, once the team finishes, we’ll let you know so you can disable it again.
  • Confirm if your email account for SmartThings is the same one you use in this forum. If not, please share it with me over DM
  • Share the device ID or name so we can find it easily
1 Like

@nayelyz:

I already sent you the required informations. Can you please tell me an estimate on how long this will take ?

one more thing: how can I retrieve the status for the display ? I can set the state by mode/vs/0 but it’s not reported in the device status xml.

Is there any way to access samsung specific part ?

I don’t have this information, I need to check with the internal team as I’ve also seen only the command sent to turn it on/off.

There’s no exact time, as we need to check the root cause of the behavior.

Just to confirm, the device works correctly through the app, right?

Yes, the app works and shows status properly. I also sent you full from last year where the api reported correct informations by DM.

/edit:
One more thing. Is there any good documentation on how to setup notifications ? (Something like endpoints would be nice).
Or is this not supported and I need to poll device status ?

The API description is quite poor at this point.

Sorry for the delay, I was checking some details internally.

No, there’s no official endpoint to send notifications that’s why it is not included in the developer documentation. For example:

We suggest you create routines in the SmartThings app where you can send push notifications and messages.

Hi, @sipiyou.

Following up on the issue with the command setAirConditionerMode, the team needs your help by doing the following:

Note: You must save the timestamp when you perform the actions below (per command) and share them with us.

  1. Execute the commands again from the CLI
  2. Send the same commands directly to the API (devices endpoint > commands)
    In this case, you can use an API client like Postman

Preferably, please save the result on both sides in a file and send it to build@smartthings.com

I don’t understand the point. I already sent a private message to you and I also gave you guys full access to the system.

So, which commands should I execute ? This is a cool mode setting but I don’t get the point what you need here.

The problem on CLI is the same as on the API.

export set SMARTTHINGS_DEBUG=true ; ./smartthings devices:commands xxxxx ‘main:airConditionerMode:setAirConditionerMode(“cool”)’

sipiyou@dell3070:~/smartthings/cli$ ./setDeviceCommand.sh
[2022-09-05T17:56:47.090] [DEBUG] login-authenticator - authentication - enter
[2022-09-05T17:56:47.091] [DEBUG] rest-client - making axios request: {“url”:“https://api.smartthings.com/devices/xxxxx/commands",“method”:“post”,“headers”:{“Content-Type”:“application/json;charset=utf-8”,“Accept”:“application/json”,“User-Agent”:"@smartthings/cli/1.0.0-beta.12 linux-x64 node-v16.16.0”,“Accept-Language”:“en-US”,“Authorization”:“Bearer f36fb535-xxxx-xxxx-xxxx-xxxxxxxxxxxx”},“data”:{“commands”:[{“component”:“main”,“capability”:“airConditionerMode”,“command”:“setAirConditionerMode”,“arguments”:[“cool”]}]}}
Command executed successfully

if I request getCapabilities, I get this from API:

─────────────────────────────────────────────────────────
Attribute Value
supportedAcModes [“cool”,“dry”,“wind”,“auto”,“heat”]
airConditionerMode “cool”
─────────────────────────────────────────────────────────

and this is simply wrong. But I have already told this to you some posts up here…

Sorry for the confusion. The team wasn’t able to find the logs of the commands (on internal services). That’s why we needed your help to reproduce it and share the timestamp, so it’s easier to find those logs.
Thanks for the info

Did you read my reply properly ? Yesterday I sent you also timestamp as well as command log output from cli.

If this is not enough, tell me in detail what I should do.

The info you provided above it’s ok and I already shared it with the team.
Also, I don’t have any recent DMs or emails from you at build@smartthings.com.
The last reply in that thread was long ago:

I don’t know what happened but we don’t need more information from now. Thanks.

@sipiyou - Sorry for butting in. We’re struggeling with the SmartThings Integration for Home Assistant. Apparently it hasn’t been maintained for a long time. I am not a programmer myself, but I was wondering if your work in any way could be beneficial for continued work with the ST HA integration?
An example of the problem I have is described here:

Rgds
Viking

I love that somebody in the community finds my comment inappropriate and it is flagged now the second time. Please speak up and tell me what is inappropriate in it.

All of you accepting managers who are saying people that something will be changed about issues and after a year nothing happens, but the manager leaves SmartThings without saying a word on the community forum.
We told many times that the Google/Alexa integration is not good as you cannot select devices what you do not want to control by them but again, years later nobody lashes an eye about it.

But, if someone tells that what Samsung is doing with the platfrom, and what Samsung has done to push all of their other developed devices into this platform without normal representation and they do not fit into the model, then that is inappropriate.

Please speak up and tell your opinion! Why Samsung does an extremely good job developing the SmartThings API and OFC by two different departments and one cannot work on the other’s faulty implementation? Great success!

3 Likes

I am sorry but I cannot help you at this point as I am not using HA.

But the question at this point is always if this is a HA problem or a smartthings api problem. In the meantime, I have also tried to implement samsung smart tv and most of the API functions are returning dummy values.

@nayelyz : What about the HVAC problem I reported ? Will there by any fix or are you simply keeping people calm here ?

If there’s no fix, can you get me NASA spec for the HVAC which goes through rs485 ? I also tried to get this from samsung support but noone seems to be responsible.

Please do not get me wrong but if Samsung offers API for home integration, then it should be working or if it’s not working, someone should fix it in time.