Device Handler update to support new STSC app

I see that 5 of my device handler are having massive issues after I manually updated the FortrezZ devices I included into my SmartThings hub network. So I am on a mission to fix that and here are the issues I found while trying to figure out how to fix these device handlers.

  1. I noticed that in the SmartThings documentation that the title now says “SmarthThings Classic Documentation”. This must mean that the api commands must not be completely supported in the new STSC (SmartThings Samsung Connect) app - is that correct?

  2. Is there a new API which STSC fully supports?

  3. In the developer workspace I cannot create a project which uses a Smarthings hub to connect - it says “Coming Soon”. Does this mean That I cannot develop a device handler which is supported by the new STSC app?

Smartthings is in the middle of a major transition: new app, new hub, new cloud platform. But it’s nowhere near complete: at present there is no way to write DTHs for zigbee or Z wave devices that will work with the new platform. And not everything is documented yet. So it’s sort of a hodgepodge.

See the following for what is known so far: ( The topic title is a clickable link)

1 Like

:laughing::laughing::laughing:

Ahem. … Seriously: The new API is official, but in flux. You can best get support by registering as a developer partner, and using the Samsung Developer Support Portal:

https://smartthings.developer.samsung.com/support

(See the “sign-up” menu option first).

3 Likes

understand this is an old ish thread, but im trying to update some of my thermostat DH’s to work better in the new app. ive got them showing but have 3 divernt DH, Tkb unerfloor thermostat, sleapy thermeostats and awake stat.
They all look diffent in the new app, the sequent of the controls are diffent, one has duplicate heating/cooling controls. is the a guid on how to lay out the capabilites etc?

1 Like

Ok done some testing and for a Thermostat these are the options ive tried and what is displayed on the new app
vid: "generic-radiator-thermostat"
main tile temp
temp
set heating
set mode
battery

vid: "generic-radiator-thermostat-1"
main tile power
refersh
temp
set cooling
set heating
operating state
set mode
set fan
set heating
set cooling
set mode
operating state
battery
set temp line?

vid: "generic-radiator-thermostat-2"
main tile temp
Temp
set temp heating
battery

vid: "generic-radiator-thermostat-3"
main tile power
refersh
temp
set cooling
set heating
operating state
set mode
set fan
set heating
set cooling
set mode
operating state
battery
set temp line?

vid: "generic-thermostat"
main tile power
refersh
temp
set cooling
set heating
operating state
set mode
set fan
set heating
set cooling
set mode
operating state
battery
set temp line?

vid: "generic-thermostat-1"
main tile temp
temp
set temp heating and cooling
operating state
set mode
set fan mode
battery

vid: "generic-thermostat-2"
main tile switch
switch
refresh
temp
set cooling
set heating
operating state
set mode
set fan mode
set heating
set cooling
set mode
operating state
battery
set temp line?

vid:"SmartThings-smartthings-Z-Wave_Thermostat"
main tile temp
temp
set heating and cooling
operating state
set mode
set fan mode

3 Likes

@mark_cockcroft This was really useful information, thank you. Im hoping the SmartThings team will provide more information similar to this with other VID/OIC types

Nice work. How did you assigned the vid to your actual DH if you managed?
I’ve just started to look at the new dev workspace and understand the concept of the device profiles and device plugins. It makes things more complicated when a custom DH needs to be ported, but if done correctly then it will give more features and otions then before.

Just add it to the 1st metadata line for the DH

1 Like

Oic didn’t seem to make a difference if I had it in or not

ocfDeviceType changes the icon on the main tile

i think the vid also controls the ‘value’ on the mail tile

That’s what I thought also, maybe it used to do that. But I could not get it to change the value when I tested now

@mark_cockcroft, I have received this message today,

Do you see the same? Can you set any temperature to decimal values? I have some TRVs what are registered in the new app like “generic-radiator-thermostat-1” and another which one has a DH with “generic-radiator-thermostat”.
I have tried to set it to 18.5, but it is neither not scrolling there or in the numerical entry I cannot set it.
Was it working before with decimals? I haven’t played too much with it yet.

@Philippe_Portes, I honestly don’t understand this.

NUMBER `5` ,  `10.6` The Number data type is a guideline indicating that a number should be expected, and not a specific type. Device Handlers contain the implementation of what kind of number object is actually returned.

And these allow decimal point.

# reviewed 2018-01-30
name: Thermostat Heating Setpoint
status: live
attributes:
  heatingSetpoint:
    schema:
      $ref: Temperature
    type: NUMBER
    setter: setHeatingSetpoint
commands:
  setHeatingSetpoint:
    arguments:
    - name: setpoint
      required: true
      schema:
        $ref: TemperatureValue
      type: NUMBER
public: true
id: thermostatHeatingSetpoint
ocfResourceType: x.com.st.temperature.heating
version: 1

And this too:

{
"id": "thermostatHeatingSetpoint",
"version": 1,
"name": "Thermostat Heating Setpoint",
"status": "live",
"attributes": {
    "heatingSetpoint": {
        "schema": {
            "title": "Temperature",
            "type": "object",
            "additionalProperties": false,
            "properties": {
                "value": {
                    "title": "TemperatureValue",
                    "type": "number",
                    "minimum": -460,
                    "maximum": 10000
                },
                "unit": {
                    "title": "TemperatureUnit",
                    "type": "string",
                    "enum": [
                        "F",
                        "C"
                    ]
                },
                "constraints": {
                    "title": "NumberConstraint",
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                        "min": {
                            "type": "number"
                        },
                        "max": {
                            "type": "number"
                        }
                    }
                }
            },
            "required": [
                "value",
                "unit"
            ]
        }
    }
},
"commands": {
    "setHeatingSetpoint": {
        "arguments": [
            {
                "name": "setpoint",
                "schema": {
                    "title": "TemperatureValue",
                    "type": "number",
                    "minimum": -460,
                    "maximum": 10000
                },
                "required": true
            }
        ]
    }
}
}

And of course, both of them live…

Maybe post your issue here Get ready to make the switch! and tag Blake.Arnold and Brad_ST.

Already have a ticket with support :wink:

Oh, I see it in the DH’s control. I am unable to select half values. It might be the UX plugin.

1 Like

HI was wondering if anyone had a complete list of the VID’s avaliable.

https://vid-selector.glitch.me/

@Automated_House, @Richard_Griffiths asked for a complete list, the vid selector is incomplete. It is missing all the thermostats.

1 Like

@Automated_House thanks you. This should be able to get started @GSzabados do you know where i can fine the thermostat list