Users don't submit bug tickets. You can post your observations here on the forum and if Hubitat staff agrees that it is an issue and can isolate the cause and devise a fix, they will. But just because you think it's a but doesn't make it one.
Understood. I think I am used to working with software where the code and tickets are in the open where I can search to see if other users are having similar issues.
What does that mean? Groups will have multiple attributes because they contain multiple devices. How would you suggest that information be returned?
'attributes': [{'currentValue': None, 'dataType': 'STRING', 'name': 'RGB'},
{'currentValue': None, 'dataType': 'STRING', 'name': 'color'},
{'currentValue': 'RGB',
'dataType': 'ENUM',
'name': 'colorMode',
'values': ['CT', 'RGB']},
{'currentValue': None,
'dataType': 'STRING',
'name': 'colorName'},
{'currentValue': None,
'dataType': 'STRING',
'name': 'colorName'},
{'currentValue': 2732,
'dataType': 'NUMBER',
'name': 'colorTemperature'},
{'currentValue': 13, 'dataType': 'NUMBER', 'name': 'hue'},
{'currentValue': 10, 'dataType': 'NUMBER', 'name': 'level'},
{'currentValue': 55,
'dataType': 'NUMBER',
'name': 'saturation'},
{'currentValue': 'off',
'dataType': 'ENUM',
'name': 'switch',
'values': ['on', 'off']},
{'currentValue': 'off',
'dataType': 'ENUM',
'name': 'switch',
'values': ['on', 'off']}],
Sorry, I should have been more specific. For devices with name "hueBridgeGroup" the attributes section of the response can have various attributes with the same name. If those attributes are tied to devices in the group then maybe add the deviceId to the object? This doesn't appear to be the case because I have hue bridge groups with more than 2 devices but attributes like "switch" only appear twice.
No, because that command could take several seconds or even longer to execute. The requesting application might not wait that long before a timeout.
Do you have an example of an application where this is a problem?. Request timeouts are configurable for almost every http client I have used. The command endpoint returns everything about that device. Is that not the state of the device after the command is applied? If it is, isn't that more expensive than just returning what changed?. If it isn't, then the response is very misleading and instead should just return the http status code with a message like command received.
Another possible approach would be to return a ticket. The client could poll for status on the command using the ticket. I would much prefer the command endpoint to return the results of the command though.
Plus, the MakerAPI is handling the communication with the requesting application. The device driver is executing the command. How would you suggest that the system report success? How would it evaluate success? It is up to the requesting application to verify that the attributes have changed according to expectations, if the requesting application feels it necessary to do so. That is the only to evaluate the success of the command.
Is the MakerApi source available? Without seeing implementation details my guess would be return the results of what happens when the command is sent to device driver. success would be if no error occurred when sending the command.
Do you mean multiple parameters? Commands requiring multiple parameters cannot be done with the maker API. The only way around this is to use a custom driver to parse out the two parameters from the one parameter that is passed to Hubitat through the Maker API. Short of that, you would have to use another app to receive commands into Hubitat.
How do I request this be changed?
/devices/1/setLevel/50
/devices/1/command/?parameter1=50¶meter2=10
I would suggest that you do a little more reading up on the forum here since you are so new to Hubitat. Also, there is docs.hubitat.com where you can find more information as well.
I will definitely do that but that doesn't address my concerns with the MakerApi. Are you suggesting I will find better ways to solve my problems if I read a bit more?