Creating a BBQ Monitor Thing (investigation)

(Jim) #1

I’ve been working to integrate my @Smartthings installation with my Big Green Egg smoker. My first working take involves putting a raspberry pi out at the BBQ with a little daughter card that reads analog values off of thermistor probes and converts them to digital temperature values that I read on the Pi, and expose as a web service. The Smartthings app script then reads the values off the pi.

It seems like I should change it around to have the BBQ probes be just values I read off an Arduino + Thingshield, and put more logic up in the app itself.

I’m trying to figure out how to get started. The shield script itself should be pretty straightforward given that it’s just reading values off the probe board and doing a little compute to convert to Fahrenheit values - what I’m trying to figure out is how to map my raspberry pi daughter board to the Arduino itself.

Suggestions? Any possibility someone has already done this? :smile:


(Geko) #2

Since you already have pi daughter card working, why change it? Just push your temperature data to the SmartThings REST endpoint and you’re done.

(Jim) #3

I could do that. Right now I’m polling on a 15 minute schedule from the pi app itself instead of pushing. So you’re suggesting I could create a device that pushes values to the REST endpoint.

Are devices stateful, ie can I only notify the app after a meaningful temperature change (like 3deg F)? Or should I constantly push status as the device, and then have the app decide when to act on that info using stored state there?

(Geko) #4

You need to create a SmartApp with REST endpoint and provision it. Your Pi can read read data every 15 minute and push to the the SmartApp endpoint. The rest depends on your needs. If you want your temperature data appear as a SmartThings temperature sensor, then you need to create a virtual device with Temperature capability and update its current value from your SmartApp whenever your Pi pushes new data.