Help with Device Tiles not appearing

I am trying to repair the Roomba integration (https://community.smartthings.com/t/latest-2019-irobot-roomba-integration-methods/169733), and am 90% of the way there but I’m caught by a strange UI issue.

Here is the target UI design (from the original post):

Here is what it looks like in the Simulator, which is close enough:

And this is what it looks like in the ST App:

The tiles we want to see are missing, and the tiles that should be hidden are visible. Here is the tile generation code:

tiles (scale: 2){
/Status tile based on intended action/
multiAttributeTile(name:"status", type: "generic", width: 6, height: 4){
tileAttribute ("device.status", key: "PRIMARY_CONTROL") {
attributeState ("Ready", label: "Ready", icon:"st.samsung.da.RC_ic_rc", backgroundColor:"#8CFC03")
attributeState ("Running", label: "In-Process", icon:"st.Health & Wellness.health7", backgroundColor:"#078bf7")
attributeState ("Paused", label: "Paused", icon:"st.sonos.pause-icon", backgroundColor:"#FC030F")
attributeState ("Docking", label: "Docking", icon:"st.presence.house.unlocked", backgroundColor:"#5F07F7")
attributeState ("Docked", label: "Docked", icon:"st.presence.house.secured", backgroundColor:"#5F07F7")
attributeState ("Stopped", label: "Stopped", icon:"st.sonos.stop-btn", backgroundColor:"#FC030F")
attributeState ("Ended", label: "Complete", icon:"st.samsung.da.RC_ic_rc", backgroundColor:"#8CFC03")
attributeState ("Error", label: "Error", icon:"st.Office.office6", backgroundColor:"#FC030F")
}
tileAttribute("device.motion", key: "SECONDARY_CONTROL") {
attributeState ("active", label: "Cleaning")
attributeState ("inactive", label: "Docked")
}
}
/Start/
standardTile("start", "device.button", width: 3, height: 2, decoration: "flat") {
state "default", label: "Start", icon:"st.samsung.da.RC_ic_rc", backgroundColor: "#ffffff", action: "start"
}
/Pause/
standardTile("pause", "device.button", width: 3, height: 2, decoration: "flat") {
state "default", label: "", icon:"st.sonos.pause-btn", backgroundColor: "#ffffff", action: "pause"
}
/Dock/
standardTile("dock", "device.button", width: 3, height: 2, decoration: "flat") {
state "default", label: "Dock", icon:"st.nest.nest-home", backgroundColor: "#ffffff", action: "dock"
}
/Stop/
standardTile("stop", "device.button", width: 3, height: 2, decoration: "flat") {
state "default", label: "", icon:"st.sonos.stop-btn", backgroundColor: "#ffffff", action: "stop"
}
/Reset/
standardTile("reset", "device.button", width: 6, height: 2, decoration: "flat") {
state "default", label: "Reset", icon:"st.secondary.refresh-icon", backgroundColor: "#ffffff", action: "reset"
}
/Switch for IFTT feedback of Started - Hidden by default/
standardTile("switch", "device.switch", inactiveLabel: false, width: 6, height: 2, decoration: "flat"){
state("off", label: "Ready", action: "switch.on", backgroundColor: "#ffffff", nextState: "on", defaultState: "true")
state("on", label: "Cleaning", action: "switch.off", backgroundColor: "#00a0dc", nextState: "off")
}
/Alarm for IFTT feedback of Error - Hidden by default/
standardTile("alarm", "device.alarm", inactiveLabel: false, width: 6, height: 2, decoration: "flat") {
state("off", label:"Ready / Pending", action:"alarm.strobe", icon:"st.alarm.alarm.alarm", backgroundColor:"#ffffff", nextState: "strobe", defaultState: "true")
state("strobe", label:"Error", action:"alarm.off", icon:"st.alarm.alarm.alarm", backgroundColor:"#e86d13", nextState: "off")
}
/Lock for IFTT feedback of mission complete - Hidden by default/
standardTile("lock", "device.lock", inactiveLabel: false, width: 6, height: 2, decoration: "flat"){
state("unlocked", label: "Ready / Pending", action: "lock.lock", backgroundColor: "#ffffff", nextState: "locked", defaultState: "true")
state("locked", label: "Mission Complete", action: "lock.unlock", backgroundColor: "#00a0dc", nextState: "unlocked")
}

    main "status"
    details(["status","start","pause","dock","stop","reset"])
}

}

I’ve not created too many device handlers, so it’s probably a pretty basic issue, but so far the answer has eluded me in the forums & help documentation. This is the last piece of the puzzle - any help is welcome!

You need to wait more, as there isn’t any documentation how to create UX plugins with custom capabilities in the new app. So it is not supported yet.

You might want to look here for reference:

Custom Tiles for custom device handlers are only functional in the SmartThings classic app

The ‘tiles’ block in the device handlers defines the user interface for the Classic app. The new app takes a somewhat different approach to the problem, one that has exercised many people on this forum a great deal, especially of late. Suffice to say that the documentation needed isn’t here yet, and to some extent there seems to still be some work going on to refine the way things will be done.

If you are using any custom attributes or commands at the moment, you aren’t going to get much joy with those in the user interface either. Custom capabilities are on their way but haven’t quite arrived.

Well, that’s a kick in the teeth, isn’t it?

Thanks for the links, I’ll do some reading on the new UI.

No, it is called Work In Progress.

I’ve had luck getting custom stuff to work by using setting parameters and putting code in the updated() method when they are toggled. For instance, bulbs that had a color loop tile in classic, I added a color loop setting.