Issue with custom presentation (vid)

@andresg, @nayelyz,
I have made 2 presentations VID with the new thermostatMode capability presentation and a very strange thing has happened to me in the Zigbee Temp Sensor with Thermostat Mc driver:

I have made these two VID:

vid: 2d774705-1f70-33ba-8373-a014f653d96c
vid: ce0f223d-6a22-3abb-9227-80db0dcae718

I see the VId’s i n API and are corrects

I have applied this VID to 2 profiles of the 10 hat the driver has and the multiple mosaic and the setPoints custom temperature ranges of the VIDs are no longer shown.
What it seems is that the stock VID is being applied always

The worst problem is that in the driver that had the old VIDs that had been working perfectly for months now exactly the same thing happens.

I have turned off the HUB and made a reboot: the same problem
App cache deleted.
I have created a new driver ID with the old VIDs and it is still wrong
I have tried to install the drivers with olds VIDs on other devices that do not use those profiles and the same thing happens

The operation of the VIDs is not recovered, I have tested in 6 of the 10 profiles that I have devices to test

I don’t understand what happened

Thanks

I’m confused, the capabilities with the issue are: thermostatHeatingSetpoint and thermostatCoolingSetpoint?
So, does it mean that the part of “values” is being ignored? Please share a screenshot of the device to have a better reference

"values": [
    {
        "key": "heatingSetpoint.value",
        "enabledValues": [],
        "range": [
            -50,
            250
        ],
        "step": 0.1
    }
]

I’ve just been looking at this myself and have focussed on the device config automation actions for the cooling and heating setpoint in the second of the two VIDs. The presentation for the second of the VIDs actually contains:

    - capability: thermostatHeatingSetpoint
      version: 1
      label: >-
        ___PO_CODE_CAPABILITY.SMARTTHINGS.THERMOSTATHEATINGSETPOINT_DEFAULT_COMMANDS_SETHEATINGSETPOINT
      displayType: numberField
      numberField:
        command: setHeatingSetpoint
        argumentType: number
        unit: heatingSetpoint.unit
        range:
          - 0
          - 40
      component: main
      exclusion: []
    - capability: thermostatCoolingSetpoint
      version: 1
      label: >-
        ___PO_CODE_CAPABILITY.SMARTTHINGS.THERMOSTATCOOLINGSETPOINT_DEFAULT_COMMANDS_SETCOOLINGSETPOINT
      displayType: numberField
      numberField:
        command: setCoolingSetpoint
        argumentType: number
        unit: coolingSetpoint.unit
        range:
          - 0
          - 40
      component: main
      exclusion: []

So the mobile app doesn’t stand a chance.

Are you happy with the content of the device-config in that area? The API reference isn’t at its best when documenting this area and actually I don’t really have a scooby what it is trying to say. A sample from the device-config is:

values:
        - key: coolingSetpoint.value
          enabledValues: []
          range:
            - -50
            - 250
          step: 0.5

However I am instinctively suspicious of the key: coolingSetpoint.value entry as what has an attribute value got to do with a command action? It just feels like it probably should be a command name, setCoolingSetpoint. That may be nonsense, but clearly something isn’t quite as it should be in that area.

@nayelyz,

Let’s see if I can explain what happened:

  • There is a driver Zigbee Temp Sensor with Thermostat Mc that has been working perfectly for months with multiple mosaic VID’s.

  • Each profile has 2 VID’s, one that changes the set point values ​​in steps of 0.5ºc and the other with steps of 0.1ºC

  • Today I wanted to add to the multiple tile the thermostatMode capability that smartthings just fixed

  • I made a duplicate of the driver code so as not to touch the one in use

  • The .json of this VID (with steps 0.1ºc) in use perfectly: a25cf843-a6b8-3956-8bab-7f24343fc280. I added the thermostatMode and battery groups to the dashboard

{
    "mnmn": "SmartThingsCommunity",
    "vid": "a25cf843-a6b8-3956-8bab-7f24343fc280",
    "version": "0.0.1",
    "type": "profile",
    "iconUrl": null,
    "dashboard": {
        "states": [
            {
                "component": "main",
                "capability": "legendabsolute60149.infoPanel",
                "version": 1,
                "idx": 0,
                "group": "main",
                "values": [],
                "composite": true
            },
            {
                "component": "main",
                "capability": "relativeHumidityMeasurement",
                "version": 1,
                "idx": 0,
                "group": "Humidity",
                "values": [],
                "composite": true
            },
            {
                "component": "main",
                "capability": "legendabsolute60149.thermostatLocked",
                "version": 1,
                "idx": 0,
                "group": "Thermostat Locked",
                "values": [],
                "composite": true
            }
        ],
        "actions": [
            {
                "component": "main",
                "capability": "legendabsolute60149.thermostatLocked",
                "version": 1,
                "idx": 0,
                "group": "Thermostat Locked"
            }
        ]
    },
    "detailView": [
  • The Vid is generated: 2d774705-1f70-33ba-8373-a014f653d96c
{
    "mnmn": "SmartThingsCommunity",
    "vid": "2d774705-1f70-33ba-8373-a014f653d96c",
    "version": "0.0.1",
    "type": "profile",
    "iconUrl": null,
    "dashboard": {
        "states": [
            {
                "component": "main",
                "capability": "legendabsolute60149.infoPanel",
                "version": 1,
                "idx": 0,
                "group": "main",
                "values": [],
                "composite": true
            },
            {
                "component": "main",
                "capability": "thermostatMode",
                "version": 1,
                "idx": 0,
                "group": "Thermostat Mode",
                "values": [],
                "composite": true
            },
            {
                "component": "main",
                "capability": "legendabsolute60149.thermostatLocked",
                "version": 1,
                "idx": 0,
                "group": "Thermostat Locked",
                "values": [],
                "composite": true
            },
            {
                "component": "main",
                "capability": "relativeHumidityMeasurement",
                "version": 1,
                "idx": 0,
                "group": "Humidity",
                "values": [],
                "composite": true
            },
            {
                "component": "main",
                "capability": "battery",
                "version": 1,
                "idx": 0,
                "group": "Battery",
                "values": [],
                "composite": true
            }
        ],
        "actions": [
            {
                "component": "main",
                "capability": "legendabsolute60149.thermostatLocked",
                "version": 1,
                "idx": 0,
                "group": "Thermostat Locked"
            }
        ],
        "basicPlus": []
    },
    "detailView": [
  • Only one diference with old vid in dashboard is that generated “basicPlus”: []

  • I do the same with the Vid (with steps 0.5ºc): ce0f223d-6a22-3abb-9227-80db0dcae718 I add the same groups to the dashboard

  • The new Vid is generated: ce0f223d-6a22-3abb-9227-80db0dcae718

  • Only one diference with old vid in dashboard is that generated “basicPlus”: []

  • I apply these new vid to the profiles and make a driver

  • When installing it on the device then the multiple mosaic disappears and the degree scale becomes the default of 1ºc. Which means that the vid is not being applied and the default presentation is shown.

  • Not only this anymore, the original driver with originals vid’s that I hadn’t touched since then does the same thing.

  • I create a new driver with another id, with the original driver that I have not touched.

  • I uninstall all the old drivers and install the one I just created and it does the exact same thing and there is no way for this driver to run any vid other than the default.

If I change the device to another Zigbee Temp Humidity Sensor Mc driver, which also has multiple mosaic if it works fine

Thanks

I got lost here, how are you including 2 VIDs in the same profile? I don’t think that’s correct, it would be confusing on which one to take.
Please, share the device profile configuration. If you have the device installed, share the generated device profile ID as well.

Sorry, I clarify:
Each device in the driver has 2 identical profiles, except that each one has a different VID, so the user can choose temperature adjustment steps of 0.1°c (one vid) or 0.5°c (another vid).
The scale is changed from preferences and the profile is changed with device:try_update_metadata

------ Change profile Temp Set points steps
    if id == "changeProfileTH" then
        if newParameterValue == "1" then
         device:try_update_metadata({profile = "temp-humid-therm-battery"})
        elseif newParameterValue == "5" then
         device:try_update_metadata({profile = "temp-humid-therm-battery-05"})
        end

This is the link to driver code published 3 month ago

https://github.com/Mariano-Github/Edge-Drivers-Beta/tree/main/Zigbee-thermostat-v3.5

Helo @nayelyz,

Well, after going crazy doing things, What happens is that something has changed on the platform and the VIDs with multiple mosaics that are compiled after May 03 around 20:00 utc no longer work, the VIDs with multiple mosaics.

Another user who is using another driver with multiple mosaic zigbe multi switch Mc with the version made at 2022-05-03T20:56:12.171332 the vid with multiple mosaic doesn’t work anymore.

I have done a test with another Zigbee Multi Switch Zemismart Mc driver compiled (packaged) on date: 2022-02-19T15:08:15.997875

│ Zigbee Multi Switch Zemismart Mc            │ 716279a2-6f5e-4de6-8f77-4bb584826a88 │ 2022-02-19T15:08:15.997875 │ 2022-02-17T20:24:52.617545Z │ 2022-05-05T12:39:21.219515Z │
  • The vid with multiple mosaic works perfectly.

  • I compile (package) the new driver, without making any changes and the multiple mosaic disappears and it is no longer possible to make it work.

│ Zigbee Multi Switch Zemismart Mc            │ 716279a2-6f5e-4de6-8f77-4bb584826a88 │ 2022-05-05T12:46:41.598125 │ 2022-02-17T20:24:52.617545Z │ 2022-05-05T12:47:09.944552Z │

This is the same thing that happened to me with the thermostat driver. :face_with_spiral_eyes: :man_facepalming:

@nayelyz

another test of the problem:

I have installed the version of the thermostat that I have published in the shared channel, which was packed several days ago and it works perfectly

UPDATED:It does not allow more than 3 replicas without any response
@nayelyz,

in case it can help

The problem has to do with the fact that the drivers that are packaged now only use the stock device presentation.

It has nothing to do with having a vid with multiple mosaic.

Any driver that uses a custom vid has the same problem now.

I have tried with the Zigbee Light Multifunction Mc driver, I have generated a new version without changing anything in the code and after packaging it, the custom temperature range is no longer shown 2000k to 6500k, the stock is shown from 1k to 30000k

Driver previous new package vid with tempColor range 2000k to 6500k works fine:

Afterer new package without any code Changed, stock range 1k to 30000k appears:

Is any feeback possible?

Thank you

Mosaic stopped working for me too

If is in zigbee multi switch Mc driver then you can use zigbee multi switch Test until problem fixed

1 Like

It stopped in Thermostat driver

You can do a change of driver to the temperature and humidity and back to the thermostat, the version of April 25 of the shared beta channel is working fine for me

You do not Lost Any information or automations

1 Like

Thank you for the info and for sharing the behavior you’re seeing. I’m already asking the team if they made a change that could have affected those custom presentations.
Once I get more info, I’ll let you know.

1 Like

@nayelyz,
Please, Could you move it to a separate thread, as it has nothing to do with the original issue.

1 Like

Thanks, I switched to “zigbee multi switch Test” which fixed the display.

1 Like

Just following up. I’ve been making some tests regarding the multi tiles presentation and it seems it’s only affecting Edge drivers.
As you mentioned, @Mariano_Colmenarejo, it seems the VID property is being ignored, even checking the device profile configuration once the device is installed shows the default presentation, not the one we defined.
I already reported this to the team. Once I get more info, I’ll let you know.

3 Likes

It only affects drivers that have any custom vid and have been compiled, packaged, after mid-afternoon on May 3rd.

drivers that were packaged before 2pm UTC that day, still work perfectly with custom vids

Thanks

Hi @nayelyz

Has the issue of ignoring custom device config already been solved?
If not, could you please share when the fix is expected?
Thank you

Not yet, once I get an update from the team, I’ll let you know.

1 Like

Hi, @Mariano_Colmenarejo, @ygerlovin.
The issue with custom capabilities is solved now, I just tested it myself.
Just package the driver again and reinstall the device, I don’t know if changing the driver will also work in case you don’t want to uninstall the device…
Please, let me know your results

2 Likes