Developer Resources

@pwiltgen‌ I haven’t dug into Bluetooth on Android before but I can point you in the right direction given what I figured out on iOS. Protocol responses are returned via GATT notifications on the characteristic sometime after you write a command to the characteristic. The values from the notifications are ASCII strings so UINT8 isn’t right. From the looks of it you’ll need to implement onCharacteristicChanged - Bluetooth Low Energy  |  Android Developers

@npankey, are you still working on the protocol documentation?

@jcalaby Yea, but it’s been slow going lately. I haven’t had any free time in the last several weeks but hopefully soon I’ll bee able to work on it more.

After some pointers from @jcalaby‌ and more experimenting I’ve drastically improved my docs around the actual bluetooth protocol at GitHub - neilpa/circulate: Reverse engineered iOS library for controlling the Anova 2 via Bluetooth. This should be especially helpful for those of you looking at platforms other than iOS - @pwiltgen‌.

@pwiltgen‌ @npankey I was able to use the Android Demo App in the Android developer resources to interface with my unit. Here is what i had to do: in the demo program, they simply read in characteristics when a button is pushed after connecting to and getting a list of characteristics from the GATT. I changed that code to write the characteristic instead of read it , with one of the Anova text commands set (like status). When the button is pushed, the unit gave the 4+2 (annoying) beeps and the value from the command was sent back. I made one more change in the demo program so I could see the results: in the code there is a call to enable or disable the callbacks that populate the information section of the app window, I simply enable them all the time so when the command returns (with the status information) the program writes it to the App screen and can see it.

@npankey‌ @vtemkin Can you help me with ios sdk? I tried GitHub - neilpa/circulate: Reverse engineered iOS library for controlling the Anova 2 via Bluetooth and always got responce <89eef6e1 ece9e460 83efeded e1eee40d> in NSData or “ÎöÁìÉÄ`??ÏíÍáÎÄ” in NSString. I can connect to device and sent data, but always same response.
Also I tried http://community.anovaculinary.com/discussion/44/anova-sample-program-update#latest and same result - all requests were failed.
devices: ipod touch 5 ios 7.1.2 & xcode 5.1
iphone 4s ios 8.1.1 & xcode 6.1

@pingwinator‌ : so, you were able to build Anova_Dev_Demo1.01.zip and install it on your iPhone 4s, connect with Anova - and then fail set temp and stuff?

@vtemkin‌ Yes, In Anova_Dev_Demo1.01.zip I can connect to device and when I try set temp or get status I got response “Failed”
example output 2014-11-17 12:00:28.075 Anova Dev Demo1.1[10864:2075216] enter -[AppDelegate app - Pastebin.com

@pingwinator‌ I have only one idea - is your phone close enough to the device? In my development experience I found that I can find and connect to the device from quite far away, but the characteristic writing would fail.

@vtemkin‌ distance about 2 meters.

@pingwinator‌ - 2 meters is definitely close enough. I am out of guesses. May be somebody in Anova will chime in.

We’re shipping @pingwinator‌ a new unit. It’s a problem with the system he’s got, which was one of the first out the door.

@"Stephen Svajian"‌ thanks!

We're shipping @pingwinator‌ a new unit. It's a problem with the system he's got, which was one of the first out the door.

@"Stephen Svajian"‌ I got new device. All works fine, thanks
@vtemkin‌ thanks for your response

@vtemkin I have problem. Device not stopped after timer ends.
Also I send “stop” and “stop time” and hear beep sound every 5-6 sec. So I should press timer button in device for mute. This is normal?

@pingwinator‌ I am not sure if it’s normal, but it’s the behavior of the device I observe. I don’t control it from program. And yes, the only way to turn the beeping after the timer ends is to switch of and on - on the device, not from the app. I am not sure what is designed behavior of the timer expiration supposed to be - but it looks like turning off is not the one. Which might make sens: what good can turning off of the precision cooker do with water bath keeping the temperature for long time after that? Loud noise prompting you to take the food out might be just what the doctor (or FDA) ordered :slight_smile: On the other hand, it can be a bug introduced in firmware when they hid timer function - I don’t remember how it worked before firmware upgrade.

This is, of course, the Precision Cooking behavior, which might be appropriate to discuss here. If in the future you want to discuss my app specifically - I created a G+ community for this purpose. Everyone is welcome!