What's new

Hacking HydroBuddy ... input and feature request thread

spurr

Active member
Veteran
Hello,

I started hacking HydroBuddy v1.40 yesterday, learning Pascal and Lazarus IDE. Learning Pascal and use of Lazarus IDE is pretty easy, but I am far from adequate with Lazarus IDE and Pascal right now (in a week or two I'll be up to par, though).

I have been in communication with Daniel, author of HydroBuddy, with bugs I found and feature requests, etc. Ex., I am fixing the Si ppm conversion error from SiO2 (Daniel says it's a rounding issue), as well as I added Ni, Se, Co, etc., to the 'custom salt' window of HydroBuddy (something Daniel is strongly against).

There are many features I plan to add, once I am better at hacking/developing using Lazaurs IDE. There are also some bugs I plan to fix, if I am able. If anyone is a programmer skilled in Delphi or Pacal (or other languages), and wishes to join my hacking of HydroBuddy, please let me know by PM or post in this thread. I don't want to fork HydroBuddy, and I think Daniel would be open to patches/features provided to him.

I really want to make HydroBuddy update via. HTTPS and offer proxy configuration (to anonymize and secure connection to HydroBuddy server), if it doesn't already do so. (I haven't looked at the update code yet, or used WireShark to watch HydroBuddy update.

Daniel told me he won't be releasing a new version of HydroBuddy for some time, so I will see if he can put the source at a GIT (or SVN) repo (and hopefully give me write access). That way, many of us can easily collaborate on Hydrobuddy, making it better and better :)

With this thread I imagine people posting feature requests and bugs they find, on any platform. If this thread takes off I will point it out to Daniel. Hopefully if people work together we can improve Hydrobuddy, even though HydroBuddy is already the best damn program I have used to date for fertilizer mixing.

Oh yea, I am donating $100 to Daniel this month, to help support his continued work on HydroBuddy. I would implore others who use HydroBuddy donate whatever you can to Daniel (money wise), or donate by helping test and/or hack(improve) Hydrobuddy.

Cheers! :tiphat:
 
Last edited:

spurr

Active member
Veteran
Oh yea,

I will post my current list of bugs I found and plan to fix (some are already known to Daniel) and features I plan to add to HydroBuddy. And I will see if Daniel can give me his list of features to implement and bugs to fix, I will try to work on his list(s) too.
 
Sweet!

I use HydroBuddy frequently and I have been a essential help for my way into hydro using base chemicals.

But I have experienced a lot of bugs, crashes using the program.
 

spurr

Active member
Veteran
If you want to try your hand at hacking HydroBuddy, I can give you some links to tutorials for using Lazarus IDE.

Please feel free to use this thread to report said bugs, that way we can have them all in one place, until I implement a 'fly spray' account for HydroBuddy.
 

spurr

Active member
Veteran
@ all,

When reporting bugs, please list your operating system, HydroBuddy version, what you did to find the bug and if the bug happens every time. The more info provided, the better.

Please start your post with the text "Bug Report" or "Feature Request" (in bold and large text at top of post), so it's easy to collate the reports.
 
T

thefatman

Even as it now stands I find in many ways Hydrobuddy to be a better nutrient software program then Nutron2000 that costs over $100. It actually contains features usually only found in software programs running around $2000 in price. I know of no one presently adding Nickle to their nutrient formulations as it is already typically present in a high enough ppm as a contaminant in chelated iron preparations. I do not understand what you mean by wanting to add copper to the available nutrients as copper sulfate is already part of the program. I would be more interested in having chlorine added to the substance list.
 

spurr

Active member
Veteran
Even as it now stands I find in many ways Hydrobuddy to be a better nutrient software program then Nutron2000 that costs over $100. It actually contains features usually only found in software programs running around $2000 in price.

Ditto, I have Nutron2000 software, and I use HydroBuddy. I want to try Smart! Fertilizer Software, but it's ~$1,600. I have been looking for a torrent warez version, but I have found nothing so far. I am very happy with HydroBuddy, it's very feature rich, but there are more features I want to add and bugs that need fixing. Daniel told me Hydrobuddy is a project he has only occasional time to work on lately; that is why I started learning Pascal and Lazarus IDE. Daniel was open to help in Hydrobuddy development, when I suggested I would like to help.

thefatman said:
I know of no one presently adding Nickle to their nutrient formulations as it is already typically present in a high enough ppm as a contaminant in chelated iron preparations. I do not understand what you mean by wanting to add copper to the available nutrients as copper sulfate is already part of the program.

I meant Co, not Cu, sorry. In terms of Ni, it's not that I want to add it as a salt, it's that I want to quantify what is in my solution as contaminant. I use the Washington State and Oregon State fertilizer lab results to quantify ranges of heavy metals (incl. Ni).


thefatman said:
I would be more interested in having chlorine added to the substance list.

It's there already, as chloride: Cl.

Some of my first orders of business are:

  • (a) fix SiO2 > Si conversion
  • (b) add shortcut to Start Menu under Guest account (windows)
  • (c) add option to install for "all users" (windows); see "b" above
  • (d) add heavy metals under a "Heavy Metals" tab (with caveats pointed out, some from Daniels message to me, below)
  • (e) fix the ratios window so one can add two elements for a true Ag ratio
  • (f) add option for relativity of three elements in ratios window, i.e., N|P|K, by ppm as (N/P)|(P/P)|(K/P), ex., because P has lowest ppm.
    • Currently HydroBuddy defines N:p:K by ppm as (N/N):(P/N):(K/N). Here is what Daniel wrote to me about the ratio's window: "... ratio between three values A:B:C is simply a way of showing A:B, A:C, B:A and B:C in a condensed and easy to understand manner."
  • (g) etc.


Here is Daniel's response to my request he add Ni, etc.,:

http://scienceinhydroponics.com/201...trient-calculator-program-o.html#comment-1412
Daniel Fernandez said:
a) In my mind this makes no practical sense as having boxes for these nutrients is futile as the uncertainty you have in their concentrations is extremely high simply due to the impurities found on your other salts. It makes no sense to make a calculation that will tell you that you have 0.00001 ppm of mercury if you have an uncertainty of +/-0.001ppm simply because of the salts you’re using (a salt with a 0.1% impurity might introduce a +/-0.0001 uncertainty in most minor elements). Making such calculations would only make sense if the person used very pure salts (meaning analytical grade) or had extremely accurate water and analysis of all of their used minerals and this is simply not the case for the incredibly large majority of users. It therefore simply makes no sense to do all the effort that is required to do this as its practical usefulness is none.


P.S. thefatman: do you have features you would like to see implemented in Hydrobuddy?
 
Last edited:

spurr

Active member
Veteran
@ all,

My communications with Daniel start with my message on his blog (see URL below). Please read the link below, and read the comments following the link. In those messages I ask Daniel about some bugs and perceived bugs (which aren't bugs), as well as some feature requests. I think some of the message he made are very good, and will help those seeking to use Hydrobuddy and/or hack Hydrobuddy.

Start reading at this message: http://scienceinhydroponics.com/201...trient-calculator-program-o.html#comment-1401
 

spurr

Active member
Veteran
Re: ratio and relativity:

Using Hydrobuddy, the N:K ratio is defined (by ppm) as (N/K), and the N:p:K "ratio" is defined as (N/N):(P/N):(K/N). Here is what Daniel wrote to me about the ratio's window:

  • "... ratio between three values A:B:C is simply a way of showing A:B, A:C, B:A and B:C in a condensed and easy to understand manner."
  • "... Yes, you have to select three but if you just want the information from two then simply ignore the third. The three nutrient ratio A:B:C implicitely includes A:B so just don’t look at the third one if you don’t need this information."

FWIW, I will add option in HydroBuddy to use three element relativity (by ppm), ex., N|P|K and K|Ca|Mg, they will be defined according to a few academic resources (ex., UC Davis). To find N|P|K or K|Ca|Mg (what is sometimes referred to as a ratio), one would do the following:
for example:
  • N = ppm of total N (ammonicial + nitrate)
  • P = ppm of P
  • K = ppm of K
  • L = element with lowest ppm; in this case let “L” represent ppm of P.
where:
  • N = 150 ppm
  • P = 50 ppm
  • K = 200 ppm
  • L = 50 ppm
then:
  1. N/L = 3
  2. P/L = 1
  3. K/L = 4
Thus, the relativity of N|P|K (by ppm) is 3|1|4. Using Hydrobuddy's method I get N:p:K (by ppm) of 1:0.33:1.33.

:tiphat:
 
Last edited:

Avenger

Well-known member
Veteran
feature bug reguest

feature bug reguest

  1. On the results page, group the NH4 next to the NO3, and include a total N.
  2. On the Substance selection page, delete the generic Potassium Sillicate with the formula K2SIO3, as it is not a reality.

 

spurr

Active member
Veteran
  1. On the results page, group the NH4 next to the NO3, and include a total N.
Great suggestion :) That bothers me too, but I didn't dawn on me to fix it, doh! I will do so, it should be fixed by sometime next week; once I'm better with Pascal and Lazarus and know the Hydrobuddy source code better.

  1. On the Substance selection page, delete the generic Potassium Sillicate with the formula K2SIO3, as it is not a reality.

Good point, I had to make my own custom addition for potassium silicate. I'll adjust the formula in the source code, and see what Daniel has to say.

Thanks for the post :tiphat:
 

Avenger

Well-known member
Veteran
Potassium sillicate products have variable molecular formulas, and thus variable weights.


This is why the weight ratio of SiO2 / K2O is used to define different potassium sillicate products.

There is no one formula that will fit as a constant.
 

spurr

Active member
Veteran
Potassium sillicate products have variable molecular formulas, and thus variable weights.

This is why the weight ratio of SiO2 / K2O is used to define different potassium sillicate products.

There is no one formula that will fit as a constant.

When I wrote I will "adjust the formula", I meant I will remove the formula K2SiO3, and leave nothing in its place except a note. The note will tersely explain why a default formula is not used.

If you are willing, will you please write out what you think is a good, and terse, explanation of the situation? Something I could use in place of the current K2SiO3 in the formula box, or something I could use as a text note next to the formula box.

Thanks
 

Avenger

Well-known member
Veteran
K2Si2O5 – K2Si2O2

The molecular formula of Potassium silicate varies according to manufacturing process. You must enter the percent by weight of SiO2 and K2O of your product for accurate calculations.

Don't know if that is terse or not.:wave:
 

spurr

Active member
Veteran
Avenger,

Thanks :)

Maybe I should just remove the formula box from the Potassium silicate entry all together, what do you think? It seems to me, considering the facts you pointed out, the formula box will just serve to confuse people as it serves little use to most people.

In place of the box, I would add the text you posted above, or something very similar. Maybe a little less verbose (;)), and make it more clear you are referring to entering % of K2O and SiO2 from the label (or MSDS), to their respective boxes at the bottom section of the window.

I will keep the liquid check box, to enter specific gravity of liquid potassium silicate products. However, I think I will make it more clear how one should find specific gravity (math wise). Maybe I will add a fly-out window, that loads once one clicks a 'more info' button.

Thoughts?
 

tester

Member
Feature req:

I’d also find it useful to have the possibility to force the program to use the given substances, even if there are better ways to reach the closest nutrient content.
For example when I have a custom fertilizer (substance) that also contains triacontanol, and I want to use that in a mix, but Hydrobuddy would not want to use it because it thinks it’s better to supply the whole K with KNO3.

An even better solution would be to have spinbuttons by the elements, and even by the gross errors for different elements. (see the attached pic here http://img638.imageshack.us/img638/2043/programmanager20110201.png
programmanager20110201.png

By adjusting the gross error for an element, we could force Hydrobuddy to find an other solution thats let’s say fits for P, and not N.

For example 100N, 50P is the goal but the closest match Hydrobuddy could find is 100N, 75P, by adjusting the gross error it could find an other match that fits or closer to P instead of N, like 80N, 50P.
 

spurr

Active member
Veteran
Hey tester,

Thanks!

Funny, I was planning on implementing such an option from your image, if possible (great image btw, thanks). It may take me a couple of weeks until I am good enough to so, correctly. I was also thinking about something along those lines with the "degree of freedom" element, if possible (I think it may not be possible). I have to head out now, and then I have send some PM's and e-mails I should have sent yesterday, but soon I want to pic your brain further, about what precisely you want (if I feel I don't understand after thinking about it for a bit).

I like your idea about forcing use of chosen substances, I run into the same problem. I will see if there is anything I can do (I think it's possible). I think at issue is another problem I found, which I asked Daniel about (see quote below). The problem is when I change from 2 ppm Fe, to 3 ppm Fe. Hydrobuddy tells me I don't need KNO3 or MKP any longer, and then the computed profile is way off (from my goal) for many elements like N, K, Ca, etc.

Daniel wrote:

- The Fe thing is not a bug but simply the result of the linear equation solver, probably after you make a small change in Fe the linear equation solver is not able to find a satisfactory solution to the problem. All variables are correlated for the solver so any change in an element affects all salts (even if they do not contain it) in some way from a mathematical perspective when doing the matrix solving procedure. Even if in the end MKP and KNO3 do not contribute with Fe when you raise Fe the solver is not able to find a solution. It would be best to reformulate the mixture or use another degree of freedom to solve.

So, I think it's the linear equation solver that is the issue. Maybe it's how Hydrobuddy implements the feature, but I think it's the linear equation solver. I will have to see if I can figure it out, I'll e-mail Daniel and ask for his input (the blog is hard to use, IMO).
 

spurr

Active member
Veteran
Something else I want to try and add:

A feature to set a goal EC, using a pre-defined mix (ex., Hoagland's mix) with fixed (tight range of) elemental ratios, so that Hydrobuddy would adjust Hoagland's mix (increase fertilizer) to provide the goal EC, but not screw up the ratios of cations to cations and anions to anions, etc.

^^ I hope that made sense! :)
 

tester

Member
about my feature request:
Since HB uses the linear equation solver, the easiest way would be to get around it completely and make a whole new tab with all the results.

This could be called "Fine Tune" or "Manual Adjustments" tab.

To illustrate it:
attachment.php


If you change the NO3 ppm of calcium nitrate, then the Ca ppm, the grams of calcium nitrate and the total values will change accordingly.
A system like this could be used to fine tune or adjust the results came straight from the equation solver.

So if hidrobuddy used 0 grams of calcium nitrate, and used 1 grams of calcium oxide or whatever, one could still adjust how these fertilizers contribute to the final ppms by adjusting their weight or their contributed amounts of elements.
 

Attachments

  • hb hack.jpg
    hb hack.jpg
    18.3 KB · Views: 17

spurr

Active member
Veteran
@ all,

I made a project page at Google Code, called "HydroBuddy-Hacks". Below is the URL for my project, I will use the project to host bug fixes, patches, hacks and new features by GIT; as well as binaries for direct download (multi-platform).

I will use the Hydrobuddy-Hacks 'issue tracker', wiki (once I set it up) and mailing list to communicate with end-users and hopefully developers who want to help. I really hope Daniel will want to take part, or make his own GIT repo and mailing list.

(here is the home page intro)
Hydrobuddy is developed and created by Daniel Fernandez, it is an open source (GPL) application for custom mixing of inorganic fertilizer solutions.

I (spurr) am not forking Hydrobuddy, this place is where I (and others) will host bug fixes, patches, hacks and new features by GIT; as well as binaries for direct download (multi-platform). I am learning Pascal and use of Lazarus IDE, so I can help in development of Hydrobuddy. This is most probably not a permanent home ...


The 'issue tracker' is the best place for people to report bugs and place feature requests, for my hacking of Hydrobuddy. The mailing list is for on-topic discussion of use, hacking and development of Hydrobuddy, and mixing/use of fertilizer solutions. As well as building Hydrobuddy from source, etc.
Bug reports and feature requests:

Please use the 'issue tracker' at Hydrobuddy-Hacks to report bugs and request features, here: https://code.google.com/p/hydrobuddy-hacks/issues/list. Things are much easier to keep track of that way. Or send a message to the mailing list, or you can e-mail me.

Here are examples of how to post bug reports and feature requests. Five of the six issues reported, I have fixed and built working binaries:
https://code.google.com/p/hydrobudd...+Priority+Milestone+Owner+Summary&cells=tiles
  • Ping shouldn't contact priviacy killing google.com
  • Ping code is not robust
  • Default potassium silicate K and Si percentage should not be non-zero
  • Hydrobuddy v1.4 ships with incorrect purity for potassium silicate and ammonium nitrate
  • Hydrobuddy should not ship with default formula for potassium silicate
  • Add proxy support (code and UI) for ping and updater02.exe
Google Group and mailing list for Hydroboddy-Hacks:

For on-topic discussion on use, hacking and development of Hydrobuddy, and mixing/use of fertilizer solutions. As well as building Hydrobuddy from source, etc.


P.S. If anyone wants to become a member of Hydrobuddy-Hacks, you will need a Google account*. Once you sign up you can join the mailing list and get auto-generated e-mailed when new binaries are released.
* it's very simple and anonymous if using Tor and anon e-mail like hushmail.com or safe-mail.net​
:tiphat:
 
Last edited:
Top