Device Integration Request: Kegland RAPT Pill

Barter & Trade

New Member
Premium Member
Joined
Sep 24, 2017
Messages
8
Reaction score
24
Points
3
I just picked up one of kegland's RAPT Pill floating hydrometers (very similar to a Tilt or iSpindle).

While it looks like I will be able to configure it using the RAPT cloud's webhook functionality and the generic streams api, it would be nice to have a more polished/prepared integration here, either as instructions on adding the webhook to RAPT (e.g. with copy/paste-ready template that generates the payloads the streams API expects) or even better, if RAPT could be convinced to adds a predefined brewersfriend webhook configuration on their end, which would just require entering an API key to enable.

Cheers!
 
Last edited:
For anyone else who stumbles on this, here's the payload json body template I used to add it on the RAPT console. Don't forget to toggle on the individual device for that hook after configuring the endpoint and payload.
Code:
{
 "name": "@device_name",
 "temp": @temperature,
 "temp_unit": "F",
 "gravity": @gravity,
 "gravity_unit": "G",
 "battery": @battery,
 "RSSI": @rssi
}

Step-by-step screenshots attached.
Screen Shot 2022-04-17 at 9.36.50 PM.png Screen Shot 2022-04-17 at 9.37.31 PM.png Screen Shot 2022-04-17 at 9.38.03 PM.png Screen Shot 2022-04-17 at 9.43.48 PM.png
 
For anyone else who stumbles on this, here's the payload json body template I used to add it on the RAPT console. Don't forget to toggle on the individual device for that hook after configuring the endpoint and payload.
Code:
{
 "name": "@device_name",
 "temp": @temperature,
 "temp_unit": "F",
 "gravity": @gravity,
 "gravity_unit": "G",
 "battery": @battery,
 "RSSI": @rssi
}

Step-by-step screenshots attached.
View attachment 20322 View attachment 20323 View attachment 20324 View attachment 20325

I also have this working with the same setup, I only post gravity, temp (+unit) and device name, works great!
 
Seems like the streams API assumes that the "battery" field is voltage, while the RAPT webhook sends percentage, so brewersfrind renders it as 100V (would need to be quite the little li-on cell to do that )
 
For anyone else who stumbles on this, here's the payload json body template I used to add it on the RAPT console. Don't forget to toggle on the individual device for that hook after configuring the endpoint and payload.
Thanks for the help! I followed your directions and got it to work except that I had to change the
Code:
 "temp_unit": "F",
to
Code:
 "temp_unit": "C",
because app.rapt.io will only send temp as centigrade. It was converted back to Fahrenheit by Brewer'sFriend.
 
This is nice, has anyone hacked up a local server that can be pushed to? I wish they'd let us pair bt to it directly so it can be logged on a rpi or something close by.
 
For anyone else who stumbles on this, here's the payload json body template I used to add it on the RAPT console. Don't forget to toggle on the individual device for that hook after configuring the endpoint and payload.
Code:
{
 "name": "@device_name",
 "temp": @temperature,
 "temp_unit": "F",
 "gravity": @gravity,
 "gravity_unit": "G",
 "battery": @battery,
 "RSSI": @rssi
}

Step-by-step screenshots attached.
View attachment 20322 View attachment 20323 View attachment 20324 View attachment 20325
Thank you so much for this, wasn't sure where to start til i found this thread
 
For anyone else who stumbles on this, here's the payload json body template I used to add it on the RAPT console. Don't forget to toggle on the individual device for that hook after configuring the endpoint and payload.
Code:
{
 "name": "@device_name",
 "temp": @temperature,
 "temp_unit": "F",
 "gravity": @gravity,
 "gravity_unit": "G",
 "battery": @battery,
 "RSSI": @rssi
}

Step-by-step screenshots attached.
View attachment 20322 View attachment 20323 View attachment 20324 View attachment 20325

I've copied everything above using the step by step images.

What do I need to do within BF?

I have gone into fermentation settings to add a device but clearly I am missing something as I am not getting any info displaying
 
I have two Pills, do I need to set up each individually or both on the same?
 
Looking at picking up a Rapt Pill. It is compatible with BrewersFriend? How do you get it to work? is the above webhook needed.
 
Looking at picking up a Rapt Pill. It is compatible with BrewersFriend? How do you get it to work? is the above webhook needed.

I've asked the developer about this. We currently don't have it as an integration with Brewer's Friend but it is on our list.
 
For anyone else who stumbles on this, here's the payload json body template I used to add it on the RAPT console. Don't forget to toggle on the individual device for that hook after configuring the endpoint and payload.
Code:
{
 "name": "@device_name",
 "temp": @temperature,
 "temp_unit": "F",
 "gravity": @gravity,
 "gravity_unit": "G",
 "battery": @battery,
 "RSSI": @rssi
}

Step-by-step screenshots attached.
View attachment 20322 View attachment 20323 View attachment 20324 View attachment 20325
just used this process to get my new RAPT Pill talking to Brewers Friend - worked seamlessly
 
once Brewers Friend starts receiving data from the RAPT portal, you just need to link it to the Fermentation tab on your brew session like any of the other devices (i.e. Tilt/Ispindel)
1700516835379.png

1700516983140.png
 
So I have an active profile in the Rapt portal. I've set up the webhook (as recommended above).

I'm not seeing any active brew sessions come through into BrewersFriend. At this point, I can't seem to troubleshoot if the Rapt isn't posting the data or Brewersfriend just isn't receiving it... thoughts?
 
So got it working.

I tried to different setups
1. with headers set (x-api-type, content-type)
2. copy&paste from above

What seemed to do the trick, as both options/setups seem to be working, was to change the device from [x] to a [tick] as per the screen shot.
 

Attachments

  • device-ticked2.png
    device-ticked2.png
    19.1 KB · Views: 44
Thanks for the tips above.
Got mine working like a charm! :)

Just a heads up that metric users may need to change the temp_unit value in the payload text from "F" to "C".
 

Back
Top