hotzenklotz / picobrew-server

A reverse engineered server for the proprietary PicoBrew Zymatic protocol
MIT License
61 stars 16 forks source link

Temperature Unit confusion? #5

Open vfrdirk opened 4 years ago

vfrdirk commented 4 years ago

I uploaded some recipes and found the temperatures to be displayed in Celsius degrees despite the unit being shown as F. In the Picobrew recipe library, the temperatures are showin in F, but the downloaded recipe is in C. Did they used to download in F?

Heat to Single S... (67F @ 0min) Single Step Infu... (67F @ 90min) Heat to Boil (97F @ 0min) Boil Adjunct 1 (97F @ 50min) Boil Adjunct 2 (97F @ 10min) Connect Chiller (21F @ 0min) Chill (21F @ 10min)

hotzenklotz commented 4 years ago

Good catch. Looking at some recipe files I believe this should be Celsius otherwise it does not make sense.

<ZYMATIC>
      <MASH_TEMP>67</MASH_TEMP>
      <MASH_TIME>120</MASH_TIME>
      <BOIL_TEMP>97</BOIL_TEMP>
      <STEP>
        <NAME>Heat to Dough In</NAME>
        <TEMP>39</TEMP>
        <TIME>0</TIME>
        <LOCATION>PassThrough</LOCATION>
        <DRAIN>0</DRAIN>
      </STEP>
      <STEP>
        <NAME>Dough In</NAME>
        <TEMP>39</TEMP>
        <TIME>20</TIME>
        <LOCATION>Mash</LOCATION>
        <DRAIN>8</DRAIN>
      </STEP>
      <STEP>
        <NAME>Heat to Mash 1</NAME>
        <TEMP>67</TEMP>
        <TIME>0</TIME>
        <LOCATION>PassThrough</LOCATION>
        <DRAIN>0</DRAIN>
      </STEP>
      <STEP>
        <NAME>Mash 1</NAME>
        <TEMP>67</TEMP>
        <TIME>30</TIME>
        <LOCATION>Mash</LOCATION>
        <DRAIN>8</DRAIN>
      </STEP>
      <STEP>
        <NAME>Heat to Mash 2</NAME>
        <TEMP>68</TEMP>
        <TIME>0</TIME>
        <LOCATION>PassThrough</LOCATION>
        <DRAIN>0</DRAIN>
      </STEP>
      <STEP>
        <NAME>Mash 2</NAME>
        <TEMP>68</TEMP>
        <TIME>60</TIME>
        <LOCATION>Mash</LOCATION>
        <DRAIN>8</DRAIN>
      </STEP>
      <STEP>
        <NAME>Heat to Mash Out</NAME>
        <TEMP>79</TEMP>
        <TIME>0</TIME>
        <LOCATION>PassThrough</LOCATION>
        <DRAIN>0</DRAIN>
      </STEP>
      <STEP>
        <NAME>Mash Out</NAME>
        <TEMP>79</TEMP>
        <TIME>10</TIME>
        <LOCATION>Mash</LOCATION>
        <DRAIN>8</DRAIN>
      </STEP>
      <STEP>
        <NAME>Heat to Boil</NAME>
        <TEMP>97</TEMP>
        <TIME>0</TIME>
        <LOCATION>PassThrough</LOCATION>
        <DRAIN>0</DRAIN>
      </STEP>
      <STEP>
        <NAME>Boil Adjunct 1</NAME>
        <TEMP>97</TEMP>
        <TIME>60</TIME>
        <LOCATION>Adjunct1</LOCATION>
        <DRAIN>5</DRAIN>
      </STEP>
      <STEP>
        <NAME>Connect Chiller</NAME>
        <TEMP>21</TEMP>
        <TIME>0</TIME>
        <LOCATION>Pause</LOCATION>
        <DRAIN>0</DRAIN>
      </STEP>
      <STEP>
        <NAME>Chill</NAME>
        <TEMP>21</TEMP>
        <TIME>10</TIME>
        <LOCATION>PassThrough</LOCATION>
        <DRAIN>10</DRAIN>
      </STEP>
    </ZYMATIC>
hotzenklotz commented 4 years ago

FYI, this is more of a UI bug. Internally the "raw" numbers from the recipe file are used.

vfrdirk commented 4 years ago

Yes, they're obviously doing some multiplying and dividing in the recipe site to render in Imperial. Just switching to C is fine.

TomKriek99 commented 4 years ago

With PicoBrew in receivership and auctioning stuff off, if they shut down the server everyone is screwed. It looks like this allows for redirection to a local server, but how does it know where to find your recipes on your local computer? On the website you check the ones you want downloaded. Sort of a manual for making this work for the average user. I am above average computer savvy, and am willing to develop that. Tom

vfrdirk commented 4 years ago

Tom,

If you fire up the server project, it generates a web page where you can upload the recipe files that you downloaded from picobrew or another beerxml generator. It does some sanity checking on the files, just to make sure it's an actual recipe, but it just copies the file into the 'recipes' subdirectory. I haven't tried it but, in theory, you could simply download all your recipes, upload one or two using the site to validate, and then just copy the rest into the folder. The developer could modify the code to allow bulk upload, but I'd think once you got all your stored recipes in there, you'd be adding them one at a time and there would be no real need. If you'd like to collaborate on this, could you open a new issue with your thoughts and we can test and generate some instructions.

TomKriek99 commented 4 years ago

Hi: Definitely interested and willing. I think it might be more productive if we could work offline to get me to the the point of running the webpage. I have installed Python on the PC and Mac and run the server program, but haven't tested the network yet. The instructions are still a little cryptic to me, so if we can walk through it, I can document that part of the process for everyone. Once we get to loading recipes, it should be easy and I will open a new issue and post my thoughts I have regarding that part.

On May 3, 2020 5:24:44 PM vfrdirk notifications@github.com wrote:

Tom,

If you for up the server project, it generates a web page where you can upload the recipe files that you downloaded from picobrew. It does some sanity checking on the files, just to make sure it's an actual recipe, but it simply copies the file into the 'recipes' subdirectory. I haven't tried it but, in theory, you could simply download all your recipes, upload one or two using the site to validate, and then just copy the rest into the folder. The developer could modify the code to allow bulk upload, but I'd think once you got all your stored recipes in there, you'd be adding them one at a time and there would be no real need. If you'd like to collaborate on this, could you open a new issue with your thoughts and we can test and generate some instructions.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

danyou commented 4 years ago

The Zymatic is somehow internally set to F and the recipe export is in C. I tried a factory reset after changing to C on the Picobrew website and Zymatic is still internally set to F after account sync.

In the below screen shot, the target is the recipe value (in C) with units of F. F and C

hotzenklotz commented 4 years ago

@danyou Arghh... that looks wrong :-/ I believe the "old" PicoBrew recipe maker had all the recipes in Fahrenheit. Looks like the new format is in Celsius and hence I changed the server to use parse and display everything in Celsius.

Looks like the machine still expects Fahrenheit though. I haven't confirmed that one mine yet. If that is the case, then this is a serious bug.

danyou commented 4 years ago

As the xml recipe in C is imported / validate would it be the best time to convert and store in F?