chiefwigms / picobrew_pico

MIT License
149 stars 63 forks source link

Brewfather Integration for iSpindel + PicoFerm #298

Open ddrum2000 opened 3 years ago

ddrum2000 commented 3 years ago

First off, thanks for all of hard work you guys have done over the past 15 months(ish). Given that this server has the ability to capture both picoferm and iSpindel data, I was wondering if this data could also be forwarded to Brewfather similar to the Nautilis iSpindel relay. I suspect forwarding the iSpindel data would be easy since it is already built in to Brewfather but it would be really awesome to also publish the pressure data to a Custom Stream. Maybe there is a way to combine the data from an iSpindel and a PicoFerm into a custom stream.

I'm not sure how many Pico users use Brewfather but it seems as if there is an increasing number that do so this could be a super useful feature. I would be happy to help test this as I would find it super useful.

tmack8001 commented 2 years ago

the framework to support this is currently able to be tested in this proposed change -> https://github.com/chiefwigms/picobrew_pico/pull/314

This would be supporting the normal ispindel/tilt data to brewfather (untested) or other online sources (tested with BrewCrafter2)

ddrum2000 commented 2 years ago

Great! Once it is incorportated, I'd be happy to test it. Do you know if the time and temp datalog from brewing process and/or the pressure data from the picoferm could also be forwarded to brewfather? I'd love to have the a fermentation data plot with SG, pressure and temp as a function of time. That would be awesome.

tmack8001 commented 2 years ago

Unfortunately I haven't found a way to automate the "brew timer" and "brew data" that Brewfather displays when you start a brewing session. I haven't fully explored the custom stream format, likely what I've done will need to change slightly to align with the format that Brewfather requests for incoming data streams.

I don't see any reason preventing a PicoFerm and say a Tilt (or iSpindel) to appear as a single device when sending to BrewFather. Initially with what I've put together they would show up as separate data streams to BrewFather (assuming the data format issues mentioned above can be solved for, which obviously anything can be done so should be relatively straight forward just haven't looked into too much detail yet myself). If we were to say have the ability to merge two device data streams into a single webhook (custom data stream) yes that should be very easy to merge together when sending to brewfather. However, before spending the time to do that I'd want to explore how the UX would work within BrewFather when sending multiple different device data streams for the same fermentation batch cause that could easily be merged in when presenting the data to the user on BrewFather's side (would be how I'd build it at least).

ddrum2000 commented 2 years ago

Yeah the brew data is more pie in the sky and would be nice where as combining the pressure and ispindel data would be huge. I wonder if you have to forward the data combined or as two separate devices also what the pro and cons of each are.

tmack8001 commented 2 years ago

Sorry haven't had the time to finish this up. The holidays and ramping back up with work in the new year has been taking more time and attention that I'd want.

Not that I need to apologize 😂 I don't get paid for this and never see that as something to strive for (this should be fun after all).

Anyways after the latest 2 bugs I've worked on based on adoption feedback and issues reported in HBT and to me personally this will start to be a focus again.

In the existing implementation there are a few things I want to fix up to make webhook formats to be persistent from device restarts and the like.

ddrum2000 commented 2 years ago

Not a problem. I'm just happy that you all are continuing work to add more features to the server