chiefwigms / picobrew_pico

MIT License
148 stars 63 forks source link

Ability to Label Fermentation Sessions (Picoferm, iSpindel) #134

Open msav72 opened 3 years ago

msav72 commented 3 years ago

I had my first real Brew day this weekend. I brewed 4 Beers. I am using all 4 Ferms. I am realizing that there is not an easy way to identify what beers are what from my Ferm sessions. Not a big deal but would be nice to have, especially when archiving Ferm sessions to know how each type of beer fermented.

BTW Everything went perfectly. I brewed one picopack and the rfid automatically read and pull the recipe from the home server. and 3 DIY brews with my homemade Grain bin and hops bin. everything went perfectly.

Thanks again for all of your hard work.

BTW I am on an really old version so if this has already been done go ahead and close this feature request. Once of these days I will have to pull a newer docker image.

tmack8001 commented 3 years ago

No this has not been done. This would be a nice addition for the PicoFerm and iSpindel support that has been added.

I can see this being a simple user provided text box while also being more like Picobrew's dropdown to select a specific brew that you already completed (from the archive of brew sessions that weren't already associated with a PicoFerm (ie. fermentation session).

BuckoWA commented 3 years ago

Was looking at this earlier. Thinking of adding a pulldown based on the archived brew sessions (as tmack suggested) to the iSpindel and/or Ferms that are active. Would add it below the device icon on the index page. Got a simple one working now but need to add some logic and formatting (css and html not my forte, but working on it). Sound reasonable?

tmack8001 commented 3 years ago

Having a pull down of "previously archived" (non monitored fermentation session) brew sessions would be a great way to "link / name" a fermentation session.

This same experience should be exposed in the /ferm_history page as well.

BuckoWA commented 3 years ago

Working on it. Want to include for both iSpindel and Ferm history.

ZuruckBleibenBitte commented 3 years ago

Is there a way to merge the PicoFerm sessions? I've noticed that restarting the server results in multiple sessions being tracked -- only the most recent is updated and the prior json log files just sit in the Active folder...

tmack8001 commented 3 years ago

That is likely a resume issue on server restart. if fermentation session wasn't completed the new data logs should likely be pushed to the existing active file instead.

Neither @chiefwigms or I use the PicoFerms regularly as this was functionality someone else added. I do have a few, but don't have a current pressure fermentation going. I might just setup one as an ambient temp monitor in the basement and see this behavior (or really setup postman scripts to test locally). Should be fairly easy to fix...

ZuruckBleibenBitte commented 3 years ago

Thanks. That's exactly the issue. Its creating new active files instead of resuming the current active session. I just pitched and started a new Ferm session -- let me know if there's anything I can assist with...

tmack8001 commented 3 years ago

Opened a separate issue to track that one. See https://github.com/chiefwigms/picobrew_pico/issues/151

BuckoWA commented 3 years ago

tmack8001 - Looks like you've been busy! I think it would be good to add the start/stop button functionality to the iSpindels as well (I'll be happy to look into it) and will be useful in adding the brew labels to both ferm and iSpindel sessions (which I finally started looking at this weekend). Thanks for the nice update.

tmack8001 commented 3 years ago

@BuckoWA have a shot at it sure. I don't have an iSpindel so wasn't sure what the "start logging" vs "stop logging" signals were.

It really doesn't look like there is a way to tell the iSpindel to stop reporting data, like there is with the PicoFerm. I have found this frustrating with the Tilt as well which is why BrewFather has you "assign" a tilt to a brew before populating a graph... but if you forget to unlink it (I do this all the time) you can get some wacky graphs.

tmack8001 commented 3 years ago

With an iSpindel do you just get a new brew graph every 14 days? Reading through routes_iSpindel_api.py that is what it looks like to me at least... that seems less than ideal.

BuckoWA commented 3 years ago

That is how it is currently implemented. I plan to add a START/STOP button similar to the latest pull request from tmack which would solve this problem.


From: Trevor Mack notifications@github.com Sent: Tuesday, January 5, 2021 7:53 AM To: chiefwigms/picobrew_pico picobrew_pico@noreply.github.com Cc: Todd todd_humes@hotmail.com; Mention mention@noreply.github.com Subject: Re: [chiefwigms/picobrew_pico] Ability to Label Fermentation Sessions (Picoferm, iSpindel) (#134)

With an iSpindel do you just get a new brew graph every 14 days? Reading through routes_iSpindel_api.py that is what it looks like to me at least... that seems less than ideal.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/chiefwigms/picobrew_pico/issues/134#issuecomment-754722131, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AP337JDETTYCYQFGY4ZYSOTSYMYVZANCNFSM4TXRREEQ.

BuckoWA commented 3 years ago

Yeah - my plan was to just START/STOP the data logging and plotting with a button. The iSpindle just reports all the time like the Tilt. I've gotten plenty of funky graphs too.


From: Trevor Mack notifications@github.com Sent: Tuesday, January 5, 2021 7:51 AM To: chiefwigms/picobrew_pico picobrew_pico@noreply.github.com Cc: Todd todd_humes@hotmail.com; Mention mention@noreply.github.com Subject: Re: [chiefwigms/picobrew_pico] Ability to Label Fermentation Sessions (Picoferm, iSpindel) (#134)

@BuckoWAhttps://github.com/BuckoWA have a shot at it sure. I don't have an iSpindle so wasn't sure what the "start logging" vs "stop logging" signals were.

It really doesn't look like there is a way to tell the iSpindle to stop reporting data, like there is with the PicoFerm. I have found this frustrating with the Tilt as well which is why BrewFather has you "assign" a tilt to a brew before populating a graph... but if you forget to unlink it (I do this all the time) you can get some wacky graphs.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/chiefwigms/picobrew_pico/issues/134#issuecomment-754721479, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AP337JHXDGQ55T3ZYFR4CL3SYMYR3ANCNFSM4TXRREEQ.

wiltdavi commented 3 years ago

FYI, I am monitoring this conversation for when I work on #165. As you guys have started the devices continuously report so the server/logging program should know if it should log or ignore the data to protect against the funky graphs.

tmack8001 commented 3 years ago

@wiltdavi I'm guessing the tilt support should be almost a mirror of the iSpindle stuff especially if using the webhook approach, if going the bluetooth route would need to have some way to likely see the values without "recording" them to a session.

@BuckoWA probably similar for the iSpindle as well. Have a "last seen value" when not tracking a fermentation since they continually monitor and report data unlike the Ferm which has to be linked to a fermentation start event.

wiltdavi commented 3 years ago

@tmack8001 yeah I have been looking at the iSpindle code and was wondering if maybe we could abstract the device if it functions like the tilt. In this way the 2 devices would have the same functionality and just the device specific calls would be different. I need to play with it a bit to see but this is a thought I had.

tmack8001 commented 3 years ago

yeah that sounds fine by me, I'd guess the payloads are a bit different

tmack8001 commented 3 years ago

Besides labeling fermentation sessions it would be great if we could associate sessions with "batches" (BrewFather language). This way for a specific brew batch we could link: 1) brew session(s) - allowing multiple machines to contribute to the batch (aka multi C/S/Pro and/or multi Z) 2) fermentation session(s) - allowing multiple devices to contribute to the fermentation graph(s) (user option to merge two fermentation devices into single graph like this https://www.highcharts.com/demo/combo-multi-axes likely hiding units of pressure?) 3) (future) allowing still sessions to be linked to a batch - would need multiple still sessions to go through say a 5G batch of mash resulting in significantly less "fuel"

cgalpin commented 3 years ago

I just made a pull request for Tilt support - https://github.com/chiefwigms/picobrew_pico/pull/261

I am aware there is a lot of boilerplate code and copy/paste, and I think the iSpindel and Tilt could be combined fairly easily (and should). I can look at refactoring that after getting the data collection side of the tilt integrated.

There are differences. My Tilt doesn't provide voltage, and the iSpindel has other fields, but I am not sure we really use anything else other than voltage, temperature and gravity.

I like the idea of associating these into sessions/batches.

tmack8001 commented 3 years ago

Yeah even in the Pico device brewing code there is a bunch of duplicate code. The API contracts are all separate, but the underlying data representation could be refactored, but haven't really found a need to. Where I've found more value in refactoring the UI (html, js, and css) code cause that will make it easier to add cross device features more easily vs copying say socketio changes into what is going to be 5 device types.