Equal components get different behavior in Z-wave multichannel driver

Hi
I have a multichannel Z-wave device (HeatIt Z-water) that has 10 relays and 4 temperature sensors.
When writing an edge driver for it, there are a few things I do not understand.

  1. Not all components with the same capabilities get the same possibilities in Routines.
    I create and install the driver and open the device in the app. I see 10 switches on off state and 4 temperature values
    I can turn the relays on and off in the app. Works as expected.
    When adding it to a Then part in a Routine, all switches have only one possibility OnOff (switching state). Only switch 5 has the two possibilities OnOff, On or Off.
    Since this is used for control of water heating it will almost only be used in Routines and that is impossible now.

  2. The order of components in the app changes when I change the id (name) of the component.
    Example: If I name the components for the device above: main, relay1 … relay10, temperature11 … temperature14 They come in that order. Relays first then temperatures.
    If I change the name of the components from relay to switch1 … switch10, the temperature sensors show before the switches in the app.
    Does the name of the component actually change something.

Part of profile where all switches except 5 will be ONOff only and switch 5 OnOf, On or Off
Sorry but I do not know how to get the indentation correct here. categories are one level to deep.

  • id: switch4
    capabilities:
    • id: switch
      version: 1
      categories:
    • name: Switch
  • id: switch5
    capabilities:
    • id: switch
      version: 1
      categories:
    • name: Switch

Any help would be much appreciated.
Without Routines access to the switches the device is rather useless.

Are you using the iOS version of the ST app? I’ve heard before there’s an issue where the on off option doesn’t appear.

I think this is because of using numbers in the ComponentID but they appear correctly the first time as you mentioned.

When you make this change, have you revised the device presentation’s configuration?
This is to see if the app is defining this order despite the metadata being correct.
To verify the presentation, you need to list the devices and get the details from the one you’re testing:

#1
smartthings devices

#2 Get the device ID and add it to the command:
smartthings devices deviceID -j

In the result of #2 you’ll find a property called presentationID which you can use as follows:

smartthings presentation presentationID -j

Please, check the order defined in the device presentation and let me know your results.

Here’s an example of a multi-component profile is:

name: multi-switch-mnmn
components:
- id: main
  capabilities:
  - id: switch
    version: 1
  label: Main
  categories:
  - name: Switch
- id: relay
  capabilities:
  - id: switch
    version: 1
  label: relay
  categories:
  - name: Switch
- id: dimmer
  capabilities:
  - id: switch
    version: 1
  label: dimmer
  categories:
  - name: Switch
- id: light
  capabilities:
  - id: switch
    version: 1
  label: light
  categories:
  - name: Switch

What I noticed in yours is that the component switch5 has a different indentation but I don’t know if this is because the code wasn’t wrapped by the symbols ``` and its format changed.