# Changing driver screen text on phone

**URL:** <https://community.smartthings.com/t/changing-driver-screen-text-on-phone/244832>\
**Category:** Writing Edge Drivers\
**Created:** [July 14, 2022, 3:01pm UTC](https://community.smartthings.com/t/changing-driver-screen-text-on-phone/244832 "2022-07-14T15:01:47Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ron\_Biegelaar](https://yyz2.discourse-cdn.com/smartthings/user_avatar/community.smartthings.com/ron_biegelaar/32/147132_2.png) [@Ron\_Biegelaar](https://community.smartthings.com/u/Ron_Biegelaar)\
**Post date:** [July 14, 2022, 3:01pm UTC](https://community.smartthings.com/t/changing-driver-screen-text-on-phone/244832/1 "2022-07-14T15:01:47Z")

</div>

I’m looking into a way to change the wording in a driver how it appears on the screen of the phone. I build my own pool controller and using a regular thermostat with the generic Z-wave driver. It works great but I would love the see the wording changed on the screen. I want the change for example the text “Heating temperature” and “Fan mode”. I cloned the standard Z-Wave driver but I don’t see the exact wording in the driver. Any suggestions?

---

<div class="post-metadata">

**Author:** ![RBoy](https://yyz2.discourse-cdn.com/smartthings/user_avatar/community.smartthings.com/rboy/32/62677_2.png) [@RBoy](https://community.smartthings.com/u/RBoy)\
**Post date:** [July 14, 2022, 3:38pm UTC](https://community.smartthings.com/t/changing-driver-screen-text-on-phone/244832/2 "2022-07-14T15:38:30Z")

</div>

Those are driven by the capability presentation. If you’re using standard capabilities then you can’t change it. You can always create your own custom capabilities

---

<div class="post-metadata">

**Author:** ![nayelyz](https://avatars.discourse-cdn.com/v4/letter/n/59ef9b/32.png) [@nayelyz](https://community.smartthings.com/u/nayelyz)\
**Post date:** [July 14, 2022, 5:33pm UTC](https://community.smartthings.com/t/changing-driver-screen-text-on-phone/244832/3 "2022-07-14T17:33:23Z")

</div>

Hi, @Ron_Biegelaar!

@RBoy is right, the titles you see there belong to the capabilities presentation and there’s now an option to change that label in the detail view of the device **but** in the device history, the original labels will appear.  
Here’s an example:

> [@Changing Labels for Existing Production Capability](https://community.smartthings.com/t/changing-labels-for-existing-production-capability/241671/2):
>
> Hi! Please, take a look at this post where another Community member showed how he changed the stock capabilities label and other properties like range or alternatives: I made the following sample to show how to change only the label: { "dashboard": { "states": [{ "component": "main", "capability": "temperatureMeasurement", "version": 1, "values": [] } ], "actions": [{ "component": "main", "capability": "temperatureMeasurement", "version": 1 }], "basicPlus": [] }, "detailView": [ { "component": "main", "capability": "temperatureMeasurement", …

In case you don’t want to get confused, then, you can use the custom capabilities. However, remember they won’t be recognized by some third-party integrations like Alexa.

---

<div class="post-metadata">

**Author:** ![Ron\_Biegelaar](https://yyz2.discourse-cdn.com/smartthings/user_avatar/community.smartthings.com/ron_biegelaar/32/147132_2.png) [@Ron\_Biegelaar](https://community.smartthings.com/u/Ron_Biegelaar)\
**Post date:** [July 14, 2022, 6:59pm UTC](https://community.smartthings.com/t/changing-driver-screen-text-on-phone/244832/4 "2022-07-14T18:59:14Z")

</div>

Hi @nayelyz ,

Thanks so much for responding as well.  
I think this is exactly where I’m looking for. Just a different name. I’m a tech guy but not a programmer. I think I can work it out but where in the code do I put these lines?

---

<div class="post-metadata">

**Author:** ![nayelyz](https://avatars.discourse-cdn.com/v4/letter/n/59ef9b/32.png) [@nayelyz](https://community.smartthings.com/u/nayelyz)\
**Post date:** [July 15, 2022, 7:31pm UTC](https://community.smartthings.com/t/changing-driver-screen-text-on-phone/244832/5 "2022-07-15T19:31:37Z")

</div>

Ok, thank you for letting me know so I can give you further details.

1. Please, install the [SmartThings CLI](https://developer-preview.smartthings.com/docs/sdks/cli/introduction)
2. If you have the device installed, execute this command in the CLI:

```auto
smartthings devices 

```

1. Copy the device ID of the one controlled by the driver and execute this command:

```auto
smartthings devices deviceID -j

```

1. Copy the content in the field `presentationId` and use this command:

```auto
smartthings presentation:device-config presentationID -j -o=deviceConfig.json

```

This will generate the file `deviceConfig.json` where you saved the `smartthings` file of the CLI.

1. Open the `deviceConfig.json` file and modify the sections of the capabilities you need as follows:  
_Note: I don’t know exactly which capabilities you’re trying to create so I used the generic nomenclature_

```auto
{
    "component": "main",//this is not modified unless you have different components, the default is "main"
    "capability": "capabilityID", //For example thermostatFanMode
    "version": 1, //Also remains the same
    "values": [
        {
            "key": "attributeName.value", //Eg. the attribute name depends on the capability config for thermostatFanMode is "thermostatFanMode" as well
            "label":"Text to display"
        }
   ],
    "patch": []
}

```

1. Save the changes in the file and use this command:

```auto
smartthings presentation:device-config:create -i deviceConfig.json

```

1. The CLI will show you the result and provide you with a new `VID` or `presentationID`.
2. In the driver, open the folder “profiles” and add the metadata section like the sample below and replace `xxxx-xx-xxxx` by he value you got in #7

```auto
name: profileName
components:
- id: main
  capabilities:
  - id: thermostatFanMode
    version: 1
  categories:
  - name: Thermostat
metadata: ##this section
  mnmn: SmartThingsCommunity
  vid: "xxxx-xx-xxxx"

```

1. Package, publish and install the driver again. This single command is used to execute the three actions:

```auto
/smartthings edge:drivers:package /driverpath/ --channel=channelD --hub=Hub-device-ID

```

1. You might have to reinstall the device for it to use the new VID. To verify this, follow steps #2 and #3 again. Check the `presentationID` is the one you created.
2. To check the configuration of the presentation, you can use the command:

```auto
smartthings presentation presentationID -j

```

Please, let me know if you have any questions.

---

<div class="post-metadata">

**Author:** ![Ron\_Biegelaar](https://yyz2.discourse-cdn.com/smartthings/user_avatar/community.smartthings.com/ron_biegelaar/32/147132_2.png) [@Ron\_Biegelaar](https://community.smartthings.com/u/Ron_Biegelaar)\
**Post date:** [July 16, 2022, 2:09am UTC](https://community.smartthings.com/t/changing-driver-screen-text-on-phone/244832/6 "2022-07-16T02:09:43Z")

</div>

Hi Nayelyz,

We’re making progress. I had some issues with creating the json file but finally got it sorted. I have everything ready to update the driver but have no idea where to find it or download it.

Can you please point me in the right direction?

---

<div class="post-metadata">

**Author:** ![nayelyz](https://avatars.discourse-cdn.com/v4/letter/n/59ef9b/32.png) [@nayelyz](https://community.smartthings.com/u/nayelyz)\
**Post date:** [July 18, 2022, 7:48pm UTC](https://community.smartthings.com/t/changing-driver-screen-text-on-phone/244832/7 "2022-07-18T19:48:54Z")

</div>

> [@Ron\_Biegelaar](#):
>
> I have everything ready to update the driver but have no idea where to find it or download it.

Oh, I got confused because you mentioned the following:

> [@Ron\_Biegelaar](#):
>
> I build my own pool controller and using a regular thermostat with the generic Z-wave driver.

So, where are those files you edited/created?

I thought you followed these steps:

1. Went to the [official drivers’ repository](https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers) and download them.  
 ![image](https://global.discourse-cdn.com/smartthings/original/3X/e/0/e071c067bbb6b6231d249d071d1db5084dda9e87.png)
2. Extracted the content of that `.zip` folder and found the Z-Wave driver you needed.
3. Then, edited the corresponding files (`fingerprints.yml`, `config.yml`)
4. then, [package](https://github.com/SmartThingsCommunity/smartthings-cli#smartthings-edgedriverspackage-projectdirectory), [publish](https://github.com/SmartThingsCommunity/smartthings-cli#smartthings-edgedriverspublish-driverid-version) and [install](https://github.com/SmartThingsCommunity/smartthings-cli#smartthings-edgedriversinstall-driverid) the driver.
5. Paired the device to the Hub and saw the current labels of the capabilities in the details page which you wanted to change.

If this isn’t what you did, can you describe what you have until now or what were you referring to by “build my own pool controller”, please?

---

<div class="post-metadata">

**Author:** ![Ron\_Biegelaar](https://yyz2.discourse-cdn.com/smartthings/user_avatar/community.smartthings.com/ron_biegelaar/32/147132_2.png) [@Ron\_Biegelaar](https://community.smartthings.com/u/Ron_Biegelaar)\
**Post date:** [July 18, 2022, 9:14pm UTC](https://community.smartthings.com/t/changing-driver-screen-text-on-phone/244832/8 "2022-07-18T21:14:46Z")

</div>

> [@nayelyz](#):
>
> Oh, I got confused because you mentioned the following:
> 
> > [@Ron\_Biegelaar](#):
> >
> > I build my own pool controller and using a regular thermostat with the generic Z-wave driver.
> 
> So, where are those files you edited/created?

Ohh LOL. That’s the hardware part of the whole controller (thermostat, relays, sensors etc. Nothing on the driver part. I use a generic driver. With some label changes and a small adjustment it will work for me.

---

<div class="post-metadata">

**Author:** ![nayelyz](https://avatars.discourse-cdn.com/v4/letter/n/59ef9b/32.png) [@nayelyz](https://community.smartthings.com/u/nayelyz)\
**Post date:** [July 18, 2022, 11:44pm UTC](https://community.smartthings.com/t/changing-driver-screen-text-on-phone/244832/9 "2022-07-18T23:44:49Z")

</div>

Ok, so, considering your comment here as well:

> [@Hub does not support edge drivers?](https://community.smartthings.com/t/hub-does-not-support-edge-drivers/240440/48):
>
> [Screenshot 2022-07-18 171828] This is what I have done. I’ve selected it from the list of drivers found at | create new driver handler \> from example \> Z-Wave Thermostat.

What you created isn’t a driver (Lua-based program), it is a DTH or device handler (Groovy-based program) which is part of the legacy platform (take a look at [this announcement](https://community.smartthings.com/t/announcement-changes-to-our-legacy-smartthings-platform/197958)).  
So, I suggest you start with [drivers](https://developer-preview.smartthings.com/docs/devices/hub-connected/get-started) rather sooner than later.

But, to use it in a DTH, you need to do the following:

1. Start creating a new Z-Wave DTH as you mentioned.  
_Note: I forgot to mention that we need to create a new one because the presentation used in each DTH is cached, so, if we use the same one, it won’t take into consideration the new VID_
2. Before saving it, edit its metadata properties and add “vid” and “mnmn” there. For example:  
 ![image](https://global.discourse-cdn.com/smartthings/original/3X/c/b/cbbcff3004600512d9008705ecb9ed044b5f811b.png)  
_Note: Remember to change the DTH’s name_
3. Save the DTH, and use it for your device. It **might** work if you only change the device type selected and clear the app’s cache, but sometimes you will need to reinstall the device.

_Note: To clear the app’s cache (for Android only), first, close the ST app, then, go to your phone’s settings \> apps \> find the ST app \> storage \> clear the app’s cache ( **do not press** clear the app’s data)_

---

<div class="post-metadata">

**Author:** ![Ron\_Biegelaar](https://yyz2.discourse-cdn.com/smartthings/user_avatar/community.smartthings.com/ron_biegelaar/32/147132_2.png) [@Ron\_Biegelaar](https://community.smartthings.com/u/Ron_Biegelaar)\
**Post date:** [July 19, 2022, 12:35am UTC](https://community.smartthings.com/t/changing-driver-screen-text-on-phone/244832/10 "2022-07-19T00:35:15Z")

</div>

Great, I give it a shot. I’m not unfamiliar with ST but the Edge approach is a whole new Era.

---

<div class="post-metadata">

**Author:** ![Ron\_Biegelaar](https://yyz2.discourse-cdn.com/smartthings/user_avatar/community.smartthings.com/ron_biegelaar/32/147132_2.png) [@Ron\_Biegelaar](https://community.smartthings.com/u/Ron_Biegelaar)\
**Post date:** [July 28, 2022, 3:39am UTC](https://community.smartthings.com/t/changing-driver-screen-text-on-phone/244832/12 "2022-07-28T03:39:53Z")

</div>

Hi Nayelyz,

Any idea how I can switch between hubs in the cli? I have a few hubs that I’m controlling but when I try to upload a driver (test package Hello World) to another hub, it gives me an error 500. When I don’t add the hub ID in the command line it goes to one hub.
