Hi All,
Very new to groovy here. I know this topic has been covered before but trying the solutions I’ve found just don’t seem to be working for me. I’m trying to port an app I have working on Hubitat but getting stuck.
I recognize that an httpGet command is sent from the cloud so it won’t work with local IP addresses and instead sendHubCommand should be used. My issue is that I’m continually getting a groovy.lang.MissingMethodException: No signature of method error.
Thank you. I’ve been playing with this for a few days in my spare time and just not wrapping my head around a solution.
Using getDataValue to get the IP in hex is giving the same MissingMethodException error. I notice the link is for building a device type and the example is for a device driver.
Could my issue be because I’m trying to do this in an app? I know on hubitat initially sendHubCommand was only available to apps and not drivers so I’m wondering if ST has some similar limitations?
Maybe you could help me through one more sticking point.
I’ve got Emby sending a webhook on playback events and can confirm the Emby server is sending them through the server logs. I also have it send a duplicate webhook to my hubitat system which is being received.
2020-03-18 15:11:39.457 Info HttpServer: HTTP POST https://graph-na04-useast2.api.smartthings.com/api/smartapps/installations/…
This is how I’m generating the address which looks to be creating the proper address {getApiServerUrl()}/api/smartapps/installations/{app.id}/ewh?access_token=${state.accessToken}
For now I’ve commented out my hubitat code for embyWebHookHandler since it wasn’t doing anything and just trying to get a simple log entry.
it’s difficult for me to advise as I I don’t know all the tenets of your setup but I would try to mimic the setup with something you totally master like taking a raspberry and a http server that act like the json generator.
if it works then you can isolate something like your query being wrong in the header or the port or whatever could.be wrong.
if it doesn’t work, debug should consist in NetworkID check (very often the case when for instance the parse method is not triggered while you have the pi sending the right answer), IP and port check (again) to match the NetworkID, verifying that your device is installed in the right instance. I had once the case of my device installed and visible in the IDE but it was not under the right Location. So in case you don’t know it, always click the location upon entering the IDE. Another one is that you have “zombie” devices (UUID) and the device sending the message is not the one receiving the answer.
Not sure that helps much but without seeing you entire code, I don’t have good ideas
Thanks for the insight.
I’ve reached out to the Emby dev team on this as well.
I can punch in the same webhook address into Plex and the webhook is received by the app. However when I put that address into Emby, there is no activity in the ST logs and the Emby logs are showing a 500 error.
I wonder if it may be because the Emby webhook is not encrypted and the ST cloud is rejecting it for that reason, therefore it doesn’t reach the app
Maybe using wireshark to spy the traffic between your working case and your non working case will help you further but you’ll need some traffic forwarding capabilities in your network/router,