Developers: Remote temperature sensor code issues

Hi all,

I bought a PP-code watchman (https://watchman.online/watchman) so I can read the temperature of my chest freezer and I am trying to create an app to be able to alert me when the temp rises above a certain level or the device goes offline (possible power issues). I used some hubitat code available to create a smartthings device handler and device but it’s not working (assume its a porting issue from the hubitat code or could be a firewall issue although I don’t think so). Can someone have a look at the code and see if you notice any issues? I can get to the device and configure it but it never reads the temp. Here is a link to the code I have put together so far: https://github.com/rubdom/watchman/blob/5214f83c45bcb171175276db05731c04b71ec7b7/echo%20"%23%20watchman"%20>>%20README.md%20git%20init%20git%20add%20README.md%20git%20commit%20-m%20"first%20commit"%20git%20remote%20add%20origin%20https:/github.com/rubdom/code

The capabilities usually have spaces in them - “Temperature Measurement” and “Relative Humidity Measurement”. I’ve never tried them without spaces so that might be a factor. I haven’t ploughed through anything else yet.

Ok…I tried adding a space and it didn’t help. I did run live logging and when I manually refresh the app I get the error below. Any guidance would be much appreciated!

1:52:19 PM: error groovy.lang.MissingMethodException: No signature of method: java.lang.String.positive() is applicable for argument types: () values:
Possible solutions: notify(), size(), tokenize(), size() @line 141 (getSensorAddress)

OK got the error to go away. It was a simple error I had a + at the beginning of a line like this

if (txtEnable) log.info "Using IP " + ip + ", PORT 80 and HEX ADDRESS " + sensorAddress

  • " for device: ${device.id}

Changed to this

if (txtEnable) log.info "Using IP " + ip + ", PORT 80 and HEX ADDRESS " + sensorAddress +
" for device: ${device.id}

Still not getting any readings from the app. Shows 0 degrees all the time. If anyone has any ideas I would appreciate any input!

Thanks!

Are you seeing any logs from the parse() method?

Here are the logs when I try and do a refresh of the temp:

6:53:59 PM: info Using IP 192.168.1.97, PORT 80 and HEX ADDRESS C0A80161:0050 for device: xxxxxx

6:53:59 PM: debug Refresh - Getting Status

6:53:59 PM: debug Refresh - Getting Status

Still not displaying anything in app. FYI I also tried opening a firewall port and using the WAN IP. I was able to get everything via browser that way so I know its working.

I think for this to work you will need to have the ST hub and device on the same lan (and use the local address).

Yep, they are both on the same local lan and I tried it. I wasn’t sure how smarthub executes commands (says executed on cloud) so I thought maybe I needed to port forward the device and use the WAN ip/port.