This is really weird. I used your code and it printed:
deviceStatus data {"valve1_Currentstatus":"Off"
That's it, the JsonSlurper obviously said that's invalid. Just to test I did:
def data = parseJson(hubResponse.split("payload:")[1])
That's obviously terrible since it's string parsing, but it works and properly gives me the JSON.
Is this a bug?
The full hubResponse (as a string) is -
index:00, mac:00146F0E58CD, ip:c0a85634, port:50, type:LAN_TYPE_RAW, payload:{"valve1_Currentstatus":"Off","degree_symbol":"°F","valve1Setpoint":"100","valve1outlet1":false,"valve1outlet2":false,"valve1outlet3":false,"valve1outlet4":false,"valve1outlet5":false,"valve1outlet6":true,"valve1_massage":0,"valve2_Currentstatus":"","valve2Setpoint":"100","valve2outlet1":false,"valve2outlet2":false,"valve2outlet3":false,"valve2outlet4":false,"valve2outlet5":false,"valve2outlet6":false,"valve2_massage":0,"steamStatus":"","steamTempStatus":"110","steamTimeStatus":"-9:00","steamTimeMinutes":"-9","musicStatus":"Paused","volStatus":"50%","muteStatus":"Off","LZ1Status":"Off","LZ2Status":"On","LZ3Status":"On","RainpanelStatus":"Off","light_attach":"0","light_remove":"0","light_turnoff1":"0","light_turnoff2":"0","light_turnoff3":"0","spa_on":false,"ui_shower_on":false,"ui_steam_running":false,"devices_running":false}