Meross smart plug integration

I was trying to integrate my Meross plugs by installing the hubitat-meross driver I found on github.
The logic all looks correct to me, and after following the steps I can manually send the correct post request to the plugs to get them to turn on and off (using postman to send the request)

However, when I try to run it using the driver it doesn't work. My first thought is that the driver is outdated and maybe the http request wasn't being sent.

The http request in the driver was being sent as a Hubitat hub action. So I tried changing it and using httpPost function:
`
def params = [
uri: 'http://'+ settings.deviceIp,
path: '/config',
headers: [
'Host': settings.deviceIp,
'Content-Type': 'application/json',
],
timeout: 10,
body: '{"payload":{"togglex":{"onoff":' + onoff + ',"channel":' + channel + '}},"header":{"messageId":"'+payloadData.get('MessageId')+'","method":"SET","from":"http://'+settings.deviceIp+'/config","sign":"'+payloadData.get('Sign')+'","namespace":"Appliance.Control.ToggleX","triggerSrc":"iOSLocal","timestamp":' + payloadData.get('CurrentTime') + ',"payloadVersion":1}}'
]
log params

    httpPost(params) { resp ->
        log "posting:${resp.data}"
    }

which seems to be trying to send the request. But unfortunately I am now seeing:runCmd hit exception org.apache.http.conn.ConnectTimeoutException: Connect to 192.168.XX.YYY:80 [/192.168.XX.YYY] failed: connect timed out on null`

does anyone have any suggestions of what's going wrong or how to fix it? I tried increasing the timeout to 10s. When I run the request manually it's always within 3 seconds so it should be plenty.

Many thanks for any help