No signature of method: script_app_metadata_da7ddc48_6d3e_4ca7_9a2c_e1bc7cb5e0f4.metadata() is applicable for argument types: (script_app_metadata_da7ddc48_6d3e_4ca7_9a2c_e1bc7cb5e0f4$_run_closure1) values: [script_app_metadata_da7ddc48_6d3e_4ca7_9a2c_e1bc7cb5e0f4$_run_closure1@73e03d86] Possible solutions: getMetadata(), getState(), setState(java.lang.Object), metaClass(groovy.lang.Closure)
Any help is appreciated. I also added the ZRC and have it as a device in my smartthings app but I cant seem to find it to check off on any smartapp. Will this change once I put in the code?
Normally that error occurs when you take code which is a device type handler but you paste it in as a smart app. These are two completely different types of code.
The good news is that yes, once you have the correct code correctly installed then you will be able to use the device in automations. That’s kind of the whole point of using the custom DTH.
You wouldn’t happen to be able to guide me to the Remote ZRC smartapp code to copy into the smart app? I thought that was what you provided but I do not see it.
The code in this thread is a device type handler (DTH) which will make the device look like it has 24 different buttons. Those “button presses” will be reported to the smartthings hub.
You don’t need a special smart app. You will be able to detect those button presses with any standard automation, including the official smartlighting feature. So you just use those as a trigger. You should also be able to use it with webcore.
I know that worked great in the classic app. To be honest, I don’t know if this particular DTH works with the new V3 app or not. Hopefully someone else in the thread will know.
Thanks. That is really what I am looking for. the 24 button press and I have only been using the classic app on my android. I added the ZRC as a device so now I should be able to copy the code into the DTH section, correct? From there I can organize on my mobile classic app I suspect?
Ok…I was able to add the code and publish to myself on IDE. I found my device and went to edit and add the DTH but I am not sure where to do this. Changed “version” to self-published. Is this the area? The below is where I am stuck
“DT6) Edit the Device so that it uses that device type handler.”
I have installed the custom device handler for my recently purchased ZRC-90, clicked on Save, and clicked on Publish for me. I have then several times clicked Edit after telling the device to use the custom device handler, but every time I click Edit I get a blank screen. When I look at the Device list again I see that it is still showing the standard “Z-wave remote” device handler for the device, not the custom device handler. I have tried removing and reinstalling the ZRC-90. I have tried deleting and reinstalling the custom device handler. I have previously succeeded in configuring other devices to use custom device handlers, so it should not be user error.
I have not been able to get this DTH to throw events in my smart app. I see the DTH reporting the button presses in the log, but I don’t get the debug line from my event handlers. I’m using the Button capability and have tried to subscribe to: “button”, “button.pushed”, “button.held”, “button.down_hold”, and “button.double” none work.
I then changed the DTH for the remote to the default “Z-Wave Multi Button” DTH, and it worked perfectly. I’m guessing this DTH is not yet compatible with the new smartthings app?
Maybe the “number of buttons” event didn’t get generated until you switched device handlers. I’d try to switch back, go into the classic app and tap the gear icon, then tap save. It should generate a number of buttons event.
Edit: Actually, hit the configure button in the classic app.
Do you intend to update your code for working with the new SmartThings app? Im only able to access the device using the Classic app. When using your device handler, I cant seems to configure the buttons.
@Wandarg Can you configure it in the classic app ok? As far as I can tell developers have been given no guidance on how to switch device handlers over to support the new app. All the documentation online refers to the Classic app, and there is nothing else. I have had somebody ask this on another device handler which I created and I genuinely cant find anything useful online anywhere to improve its performance in the new app. On the plus side, this is a device handler which I never even look at, other than getting it setup, everything else I do in Webcore.
Like @cjcharles mentioned, I’m not sure how to update it. It is just a button device so the new app just needs to work with button events. I can’t imagine that they would change that process. Who knows . . .
Thanks @JDRoberts , certainly seems to match my experience that there is STILL absolutely no guidance or information about how custom devices handlers should be built for the new app.
I can’t even see changes happening soon as there will be a shed load of testing needed I expect…
I wasn’t able to configure in the classic app. When tapping on the configure button. Nothing happens. I can do settings and change parameters for “hold” or activate debug mode thou.
The configure button sends configuration data behind the scenes so it won’t look like it does anything. This device doesn’t have any configuration parameters that can be sent anyway so you can just ignore the button.