- Joined
- Oct 22, 2017
- Messages
- 121
- Reaction score
- 151
Have you tried a 0 in the minutes field for on a 5 in the minutes field in the off timer? I believe all others should remain as a *
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Have you tried a 0 in the minutes field for on a 5 in the minutes field in the off timer? I believe all others should remain as a *
It may depend on the pH module, but I doubt the raw mV reading will be available. Usually, the mV will be processed through an analog to digital converter which will scale the voltage to a number (based on the ADC resolution).Is there a good way to obtain the raw mV value from a pH probe without having to delete the calibration file? Or is that the best way to go about it?
Yes, this looks correct, let us know how it turns out.
Looks like it's working, I just noticed it go through it's 5 minute on-off cycle, thanks!Yes, this looks correct, let us know how it turns out.
Well fOkay, starting to get mine together, my adj strip is running!
Two questions: with multiple temperature sensors, can you have it alert when they differ by more than, say 1 degree c? If not, I may just set up one to control 77-80 and the other alert and control 76-81?
Second: mechanical relays are more prone to failure than solid state, right? Solid state struggle with low loads. So maybe I could add a solid state relay in addition to the adj strip to control my heaters? Low likelihood of failure and not a low load..seem good?
thank you so much for writing this up. i'll refer this for 3.0 docsAhhhh, after digging through tons of posts, I finally pieced together how to do this, lol. I'll post the consolidated, & corrected instructions here for future pioneers with a few additions that could help. I'll replace any mentions of IP with a generic IP of 192.168.x.x, use your raspberry pi's IP instead. If you don't know it, go to the terminal & type ifconfig, then press enter.
[
- Wire up your ph board and power up your raspberry pi. Once up,you should see the ph board regisetered as i2c addres 0x40 (64 in decimal). Type i2cdetect -y 1 into terminal & press enter. The default address for your board may be different (the @Michael Lane one is 45 with both jumpers attached). It will appear in this list.
![]()
- Next download and install the 3.0 pre-alpha release. Make sure to delete the old database. In terminal, use the following commands:
- sudo systemctl stop reef-pi.service
- sudo rm -rf /var/lib/reef-pi/reef-pi.db
- sudo systemctl start reef-pi.service
- Details can be found in the troubleshooting guide
- Once running , go ahead and create a new driver from the Configuration -> Drivers section, select phboard as type (pico board for pico base board users).
- Make sure to click on the drop down and select the type, even if the one shown in the UI by default is the one you are using (i.e. do an explicit selection).
- My UI gave an error if i had a space in the Name, may just be me though.
- Your address is in decimal format. Look up a "Hex to decimal convertor" & type in your address from the i2cdetect command (e.g. 0x40) & convert it. 0x45 = 69.
- Specify a name, keep it unique across different drivers.
![]()
- Next, create a connector under analog input section and associate it with the new driver, specify channel as "0" and give it a name.
![]()
- Next, create a pH monitor (if you dont see ph tab, then probably its not enabled, enable this module under Configuration -> Settings, and reload reef-pi).
- Associate the ph monitor with the newly created analog input. And that's it, you should see your ph sensors reading. Note, without calibration it will emit sensor values in raw millivolts, which for me is around -8K.
![]()
- Time to perform calibration (don't use the button, we've got to use a work around).
- If you are using reference solution (like ph 7 and 10), keep them in tank temperature and immerse probe in them and note down the reading from the dashboard. It will take a few minute to stabilize the reading. For example, if you put it in 8.21 pH solution, you may get a reading fluctuating around -8768.
- We'll be applying the calibration via API (due to UI still being worked on).
- Go to your pi's file manager, right click, create a new file, name it calibration.json containing the calibration data in this format.
{"expected":8.21, "observed": -8768},
{"expected":8.12, "observed": -8189}
]
You can now go back to your UI, enable the pH probe, then watch the output to see if it's an actual pH value now!
- The example shows my two point calibration again my own tank water with reference reading taken from hanna ph checker.
- DISABLE the pH monitor before continuing.
- In terminal, type the following 2 commands (pressing enter after each)
curl -c cookie.txt -X POST -d '{"user":"reef-pi", "password":"reef-pi"}' http://127.0.0.1/auth/signin- you will get a return of "null"- this is good.
curl -X POST -d @calibration.json -b cookie.txt http://192.168.x.x/api/phprobes/1/calibrate- If you've had multiple attempts at creating a pH monitor, your pH monitor ID may not be 1. If you want to check, use the following command in terminal:
- curl -b cookie.txt http://192.168.x.x/api/phprobes/
I would recommend to plug it in your tank and let it run for a day or two, and then let’s look at the data. How much fluctuations you see, if there’s diurnal cycle visible or not etc.Ok, so I deleted my calibration to confirm a suspicion I had. The readings are pretty unstable from the probe. This is the output from my probe sitting undisturbed in 9.18 solution for roughly an hour.
Have other people seen this as well?
![]()
I would recommend to plug it in your tank and let it run for a day or two, and then let’s look at the data. How much fluctuations you see, if there’s diurnal cycle visible or not etc.
Do you know the scale though? That could equal 0.0001 pH points noise or something like that.I'm just worried about calibration at this point. Theoretically, the calibration solution should be totally stable. I shouldn't be seeing fluctuations like this. In my tank, pH definitely will be changing, so I'm not sure I'd get anything useful out of putting it in the tank pre-calibration.
Do you know the scale though? That could equal 0.0001 pH points noise or something like that.
I can understand the rationale behind but I would still recommend running the probe in the tank. There are many things that can cause aberrations, quality of probe, calibration solution etc. What we do know is the relative range and periodic nature of the ph cycle in reef tanks. This will help us orient and triage the problem. We need that data. Do you have details about your probe etc in your build thread?I'm just worried about calibration at this point. Theoretically, the calibration solution should be totally stable. I shouldn't be seeing fluctuations like this. In my tank, pH definitely will be changing, so I'm not sure I'd get anything useful out of putting it in the tank pre-calibration.
I watched some wacky readings on my ph probe. Similar to yours. Sitting in a 6.86 ph constant solution it varied alot. I tried moving cables, putting the ph board in a shielded grounded box, and still got a " daily cycle"Ok, so I deleted my calibration to confirm a suspicion I had. The readings are pretty unstable from the probe. This is the output from my probe sitting undisturbed in 9.18 solution for roughly an hour.
Have other people seen this as well?
![]()
Very sound advice here!Analog systems are realy sensitive, it can be that something from outside is infuensing the signal before the conversion to digital. A near power source an AC cable, maybe Wi-Fi. Using a different power adapter for the ph board can help. Or a higher quality powersupply. You can create a faraday cage to keep out noise, with an antystatic bag. On the ezo website they have a lot of dont's you can learn from .
Hive minds,
It's less than one month for thanksgiving, and we are heads down busy wrapping up reef-pi 3.0. Its mostly feature frozen (no new things) from now on. I just wrapped up the last bit of new things and that demands a new beta release. So,
reef-pi 3.0.0-beta is out now: https://github.com/reef-pi/reef-pi/releases/tag/3.0.0-beta
This is by far the biggest changeset (highest amount of code) we have done for reef-pi., Here is the summary of key things, copying as it is from the release notes, with some explanations:
- Timer module improvements:
- Ability to rigger macro: Yes, users can now trigger macros periodically.
- Support weekly & monthly schedules: We;ll be able to say things like every Monday, in timer module.
- Control system:
- Temperature module supports calibration
- ph module can control equipment: Calcium reactor, CO2 injectors etc.
- Hysteresis support in temperature and ph based controls: reef-pi can now act exactly same as heater's inetrnal thermostat. Makes it suitable for chiller and other equipment
- Temperature and ph module can use macro instead of equipment as control target: Useful if you want to control multiple equipment. Just model them as a single macro.
- Drivers
- Jacks can be reversed: We are moving the active high/low option from light channel to jacks. Similar to outlet and inlets, jacks can also be reveresed. This has exactly same effect as light channel high/low. So we are not really adding/deleting any feature, just moving it to a more semantically correct place.
- kasa smartplug & powerstrip support: Control hs300 powerstrip, hs100/hs110 smart plugs,. This driver also exposes the current monitoring as analog inputs that you can use as fake ph probes.
- File driver: This is a nifty feature where an arbitrary file can be used to provide a value. Think of an external script writing a single value in a text file and reef-pi can now seamlessly integrate with it, by reading that file periodically and treating as analog input (ph)
- New PWM profiles:
- Sine: Typical sine curve for a given start-> end period
- Arbitrary interval profile: Specify pwm values at fixed interval for a given start->end period. This is a generic version of the current 2 hour interval profile,. User can now use 1 hour or 15 min or any other fixed interval.
- Random profile: generate incremental random values for a given time period and intensity range. I expect this to be useful for wavemakers
- Composite profile: Allows combining above three profile (and fixed value profile). Think of pulse mode wavemaker profile can be implemented with an alternate diurnal and fixed interval profile.
- Internationalization:
- Chinese language support
- Portugese language support
- Dutch language support
- Other:
- reef-pi db subcommand: A new reef-pi db list/show/update/create/delete command that can work directly with the database., The controller has to be turned off for this. This can be used to investigate and fix reef-pi during troubleshooting.
We still have a few things to sort out, the pwm profiles UI is still not done yet. Michale is been working on it. Internationalization in not uniform yet (since we added quiet a bit of new things recently). We could really use your help in getting all the language support and above everything testing the beta release if possible. I have tried my best to test each of these bits, but I can certainly use more. I definitely wont be able to test all the possible software combination, let alone the hardware variations. So, if you have some free time or a test build , please give it a shot and let us know what you think. If everything goes well, we'll wrap up the UI bits, fix any critical bugs we found and ship 3.0 right before thanksgiving.