Perhaps this is the wrong category to post this. However, I'm working on integrating a number of devices; sort of figuring things out as I go and applying changes recursively as I figure out issues. My biggest issue currently, is the error in the title.
When trying to parse information received from an HTTP call, I'm able to use json notation (${response.json.getAt(3).property.value}) to get the response down to the following snippet of information.
{"soundStatus":"0","soundMute":"0","sleepVolume":"6","sleepSound":"310","pageVol":"5","balance":"0","soundMode":"1","relaxSound":"520","relaxVolume":"4","lightStatus":"0","lightLevel":"0","lightColor":"00ff00","soundScheduled":"1","lightScheduled":"0","soundOn":"00:10","soundOff":"07:00","lightOn":"22:00","lightOff":"06:00","Ramp":"60","disableBtn":"1","roomName":"Living Room","dwelling":"Home"}
When I add .soundStatus or any of these other items to response.json.getAt(3).property.value, my logs return
groovy.lang.MissingPropertyException: No such property: sleepVolume for class: java.lang.String on line 189 (getDevice)
Using a json path evaluator, I am able to retrieve the values in this block of information. No matter what I have done, hubitat is not able to get at this information. Any help would be appreciated. The entire response, if it would help figure out where I am going wrong, is as follows.
[[property:[type:Property, name:ble_mac, base_type:string, read_only:true, direction:output, scope:user, data_updated_at:null, key:666, device_key:666, product_name:big surprise, track_only_changes:false, display_name:Bluetooth Mac, host_sw_version:false, time_series:false, derived:false, app_type:null, recipe:null, value:null, denied_roles:[], ack_enabled:true, retention_days:30]],
[property:[type:Property, name:ble_name, base_type:string, read_only:false, direction:input, scope:user, data_updated_at:null, key:666, device_key:666, product_name:Nbig surprise, track_only_changes:false, display_name:Bluetooth Name, host_sw_version:false, time_series:false, derived:false, app_type:null, recipe:null, value:null, denied_roles:[], ack_enabled:true, retention_days:30]],
[property:[type:Property, name:Blue_button, base_type:boolean, read_only:true, direction:output, scope:user, data_updated_at:null, key:666, device_key:666, product_name:big surprise, track_only_changes:false, display_name:Blue_button, host_sw_version:false, time_series:false, derived:false, app_type:null, recipe:null, value:null, denied_roles:[], ack_enabled:false, retention_days:30]],
[property:[type:Property, name:cmd, base_type:string, read_only:false, direction:input, scope:user, data_updated_at:2021-03-22T13:00:08Z, key:555, device_key:666, product_name:big surprise, track_only_changes:false, display_name:cmd, host_sw_version:false, time_series:false, derived:false, app_type:null, recipe:null, value:
{"soundStatus":"0","soundMute":"0","sleepVolume":"6","sleepSound":"310","pageVol":"5","balance":"0","soundMode":"1","relaxSound":"520","relaxVolume":"4","lightStatus":"0","lightLevel":"0","lightColor":"00ff00","soundScheduled":"1","lightScheduled":"0","soundOn":"00:10","soundOff":"07:00","lightOn":"22:00","lightOff":"06:00","Ramp":"60","disableBtn":"1","roomName":"Living Room","dwelling":"Home"},
denied_roles:[], ack_enabled:false, retention_days:30, ack_status:null, ack_message:null, acked_at:null]],
[property:[type:Property, name:device_host_version, base_type:string, read_only:true, direction:output, scope:user, data_updated_at:2021-02-23T13:40:34Z, key:666, device_key:666, product_name:big surprise, track_only_changes:true, display_name:device_host_version, host_sw_version:true, time_series:false, derived:false, app_type:null, recipe:null, value:g14-0.02.034 g1d-0.02.003, denied_roles:[], ack_enabled:false, retention_days:null]],
[property:[type:Property, name:enableBtn, base_type:boolean, read_only:false, direction:input, scope:user, data_updated_at:null, key:666, device_key:666, product_name:big surprise, track_only_changes:false, display_name:Enable Button, host_sw_version:false, time_series:false, derived:false, app_type:null, recipe:null, value:null, denied_roles:[], ack_enabled:true, retention_days:30]],
[property:[type:Property, name:log, base_type:string, read_only:true, direction:output, scope:user, data_updated_at:null, key:666, device_key:666, product_name:big surprise track_only_changes:false, display_name:log, host_sw_version:false, time_series:false, derived:false, app_type:null, recipe:null, value:null, denied_roles:[], ack_enabled:false, retention_days:30]],
[property:[type:Property, name:play, base_type:string, read_only:false, direction:input, scope:user, data_updated_at:null, key:666, device_key:666, product_name:big surprise, track_only_changes:false, display_name:Play Sound Once, host_sw_version:false, time_series:false, derived:false, app_type:null, recipe:null, value:null, denied_roles:[], ack_enabled:true, retention_days:30]],
[property:[type:Property, name:sec_token, base_type:string, read_only:true, direction:output, scope:user, data_updated_at:null, key:666, device_key:666, product_name:big surprise, track_only_changes:false, display_name:Secure Token, host_sw_version:false, time_series:false, derived:false, app_type:null, recipe:null, value:null, denied_roles:[], ack_enabled:false, retention_days:30]],
[property:[type:Property, name:settings, base_type:string, read_only:false, direction:input, scope:user, data_updated_at:null, key:666, device_key:666, product_name:big surprise, track_only_changes:false, display_name:Settings, host_sw_version:false, time_series:false, derived:false, app_type:null, recipe:null, value:null, denied_roles:[], ack_enabled:false, retention_days:30]],
[property:[type:Property, name:version, base_type:string, read_only:true, direction:output, scope:user, data_updated_at:null, key:666, device_key:666, product_name:big surprise, track_only_changes:false, display_name:version, host_sw_version:false, time_series:false, derived:false, app_type:null, recipe:null, value:null, denied_roles:[], ack_enabled:false, retention_days:30]]]
And if anyone has a simple method for scheduling a defined http call within a driver, that will help before I release anything.