Thank you, that fixed it! I swear I tried that before asking for help and it failed. However, this time it worked. I guess the default value, 2, did not make it into HE.
Again, I want to caution that using this method can add more load on your hub that is not needed. It does not make sense to set a value and then immediately look up that same value in most cases.
I agree with you. If the purpose is to validate that a command took, a runIn() call is the more efficient way to handle it. In my opinion. And that's exactly how I implemented the test procedures in my Z-Wave Repeater driver.
I understand. However, sometimes a low level of overhead is easier when porting a ST DTH to a HE driver
In my situation I have an easy workaround and when I tried the true option it did not work.
Edit: As Chuck mentioned the sendEvent command is queued by the system, so even using the "true" option may not get the value in the sendEvent command because it has not executed. If you bump into this fix the logic or code a workaround.
isNumber() and toInteger() are both string functions (for converting numeric strings to integers). Also toDecimal(), etc. According to Groovy spec, that is.
On ST, if you pass these an integer, they fail silently/gracefully. In HE, they error out. I'd argue ST is wrong to have them fail silently, but it's a difference that will have you pulling hair out as you go and change all your variable "checks")
Thank you for the fast reply. I uncommented my older getChildApp() code and it worked. I have a bit of recoding to do.
In SmartThings:
getChildApps() Gets child apps that are in "COMPLETED" status
getAllChildApps() Sets all child apps inluding those that have not be "Completed"
Maybe I'm dreaming, but it seems the Hubitat hub used to do the same, but currently (as of hub v2.0.8.113) the output from zigbee.parse(String description) of a catchall message is not a map and completely different. Here's what the Hubitat hub does with the same two example catchall messages:
The Hubitat output appears to be a list, but although I can match the data: portion inside the brackets, I am not sure of what everything else is supposed to represent.
So, what - if anything - can I use to parse catchall messages into a map on Hubitat?
Tagging @mike.maxwell since he's probably the only person who can answer this.
You are looking at the string output of an object (SmartShield). Our toString() method is clearly different than ST's implementation. I have plans to fix up that object and populate the text field properly. I will change the toString while I'm in there. The properties are all there already: text, manufacturerId, direction, data, number, isManufacturerSpecific, messageType, senderShortId, isClusterSpecific, sourceEndpoint, profileId, command, clusterId, destinationEndpoint, options. You can use them if you want, but I get the impression that is only supposed to be for the ThingShield parsing.
It will give you a map with the following keys: raw, clusterId, sourceEndpoint, destinationEndpoint, options, messageType, dni, isClusterSpecific, isManufacturerSpecific, manufacturerId, command, direction, data
Nope. Not true in my case. And I haven't been complaining about a lack of example drivers.
I did look at that driver, and the previous line 64 does a return on any catchall: messages, so why would I expect zigbee.parseDescriptionAsMap(description) to do the trick?
Also, I did look at the Hubitat Documentation page on the ZigBee Methods, and I could swear the entry for parseDescriptionAsMap was not there when I looked a couple hours ago. Perhaps I missed it.
Honestly, I find it offensive that it's implied I am wasting your time asking dumb questions when I do spend the time to research as best I can, rarely ask any questions in general, and have never contacted support after my second instance.
The work I do on device drivers is unpaid, not my as my form of employment, and the time I have to dedicate to it is limited. I am not a programmer by trade, and can't be expected to know as much as you well seasoned professionals do. I just don't see how it warrants taking pot-shots when I do occasionally ask for help.
Nevertheless, as much as I am less and less inclined to ask for it with these kinds of responses, thanks for the reply.