Skip to content

BrewPiLess

BrewPiLess is a fermentation controller on an ESP8266: it holds the chamber at a temperature, and if there is an iSpindel or a Tilt in the fermenter it logs the gravity too. Its remote logging can post to any URL in any shape you write, and the shape Brewfather’s own guide tells you to write is one we read as it stands.

  1. In Beerwright, open Settings → Fermentation devices, press Add a device, and copy the device URL.
  2. In BrewPiLess, open Remote logging from the menu. Set the method to POST, paste the device URL as the address, and set the data type to application/json.
  3. Paste the body below as the format, save, and BrewPiLess posts at the interval you give it.

The body is Brewfather’s, unchanged, so if your controller is already logging there you only have to swap the address:

{"id":"FERMENTER1","tempUnit":"C","beerTemp":%b,"beerSet":%B,"fridgeTemp":%f,"fridgeSet":%F,"roomTemp":%r,"gravity":%g,"tiltValue":%t,"auxTemp":%a,"extVolt":%v,"timestamp":%u,"pressure":%P}

The percent codes are BrewPiLess’s own, and it fills them in as it posts. Two of them matter to us and the rest are accepted and ignored:

  • %b is the beer temperature, in whatever tempUnit says. Set tempUnit to C or F to match the controller; we convert either.
  • %g is the gravity, from whichever hydrometer the controller is reading. A BrewPiLess with no hydrometer attached prints 0 here, and we read 0 as “no gravity this time” rather than as a beer that turned to water, so a controller with no hydrometer still charts its temperature.
  • id is the device’s name, and it is how two controllers are told apart. Give each one a different id.

A BrewPiLess charts two things on the batch page: the beer temperature it is holding and the gravity of whatever is floating in the fermenter. The chamber temperature, the setpoints and the room temperature are in the body too, and we keep the whole body with each reading, but the chart shows the two lines a fermentation is about. If you want the chamber temperature charted as well, say so; it is a decision about the chart, not about the controller.

Each BrewPiLess has its own id in its format string, so two of them can post to the same device URL and we tell them apart by name. The moment a second name is heard, the URL becomes a bridge and each controller becomes its own device in Settings, with its own pin. Readings from one you have not pinned yet are kept until you say which beer it is in. The TiltBridge page describes that behavior in detail. If you would rather keep things simple, mint one device URL per controller and pin each in Settings.

Nothing at all. Remote logging in BrewPiLess is off until you enable it, and it only posts at the interval you set. Check that the address is the whole device URL, https:// and all, and that the method is POST.

Temperature but no gravity. No hydrometer is attached, or the controller is not reading it. Gravity only logs when BrewPiLess has an iSpindel or Tilt configured; the temperature line does not need one.

A gravity that never moves. The hydrometer BrewPiLess is reading has not been calibrated. The iSpindel page says why that matters.

Something wrong on this page? Tell us.