-
Notifications
You must be signed in to change notification settings - Fork 10
Calibration
Tips:
- These instructions assume you are using the Home Assistant UI or ESPHome Web Server. For everything mentioned below, you can use the entities in the AquaPi Device under Integrations in Home Assistant. There is a selector entity you use to select the command, and also a button to send that command. There is an entity that reads the output of that command.
- You can also use actions under Developer Tools in Home Assistant to send specific calibration commands.
- For probe calibration, always rinse off probe with RO or distilled water after using each calibration solution, shake well to release any air bubbles, and wait for reading to stabilize for at least 30 seconds before calibrating each step.
- Add the cards at the end of this page for easier access to specific entities for calibration.
- If your device isn’t recognizing the EZO Circuit, open it up and make sure the white connector from the wire is properly secured. This can sometimes come loose.
- You can now send custom commands to the EZO circuit via actions (Developer Tools -> Actions). See the Atlas Scientific Documentation for each respective probe. For example,
ESPHome: aquapi_XXXXXX_ec_custom_command
, set command toR
to read the probe, orStatus
to get general status of the circuit. Results will be updated via the entitysensor.aquapi_XXXXXX_ec_command_result
. I may create a page with all the commands, but for now, use the documentation.
This isn't necessary to do, but if you want more accurate results, calibrating can help. This can be a little more complicated. You will need to use ESPHome builder to edit your config. You also will need ice water and boiling water. Be careful!
You may need to change the Unit of Measurement in Home Assistant to get Celcius, otherwise convert F to C for this guide.
- Place the temperature probe in boiling water, be careful! Wait 1 - 2 minutes for the sensor to stabilize. Record that temperature, should be closer to 100C.
- Do the same for freezing water, in this case, a cup of ice water will work. Wait a few mins for the water to reach freezing. As long as there is a good amount of ice, the temp of the water will be near 0C. Avoid placing the probe at the very bottom of the cup, more in the middle. Wait 1 - 2 minutes for the sensor to stabilize. Record that temperature, should be closer to 0C.
- In ESPHome builder, add/edit the corresponding subsitutions for the temperature offsent.
Example:
substitutions:
cal_0: "2.0"
cal_100: "97.0"
- Restart the AquaPi and compare results with an analog thermometer.
Send Commands using the button entity: button.aquapi_XXXXXX_ec_command_send_selected
or by using actions
- Using Entity:
EC - Command Select
, selectOutput Units - All (Default)
and send the command. - Calibrate 0 µS/cm, aka dry. Select
Calibrate @ DRY (WILL RESET CALIBRATION)
. - Calibrate at 12,880 µS/cm, aka Low. Select
Calibrate @ LOW = 12880 (WILL RESET CALIBRATION)
. - Calibrate at 80,000 µS/cm, aka High. Select
Calibrate @ HIGH = 80000 (WILL RESET CALIBRATION)
. - Check calibration with command
Check Calibration
. The entitysensor.aquapi_XXXXXX_ec_command_result
will output2
if followed above steps. - RECOMMENDED: For more accurate TDS value select
Set TDS Value to NaCl - 0.48
and send the command. Default is 0.54.
Send Commands using the button entity: button.aquapi_XXXXXX_ph_command_send_selected
or by using actions
- Calibrate using Mid(7.0) Solution. Using Entity:
pH - Command Select
, selectCalibrate @ MID = 7 (WILL RESET CALIBRATION)
and send the command. - Calibrate using Low(4.0) Solution. Using Entity:
pH - Command Select
, selectCalibrate @ LOW = 4 (WILL RESET CALIBRATION)
and send the command. - Calibrate using High(10.0) Solution. Using Entity:
pH - Command Select
, selectCalibrate @ HIGH = 10 (WILL RESET CALIBRATION)
and send the command. (Can also use 10.01 solution and corresponding command) - Check calibration with command
Check Calibration
. The entitysensor.aquapi_XXXXXX_ph_command_result
will output3
if followed above steps. (Can also calibrate using 2 points, and will output2
)
Send Commands using the button entity: button.aquapi_XXXXXX_do_command_send_selected
or by using actions
- Using Entity:
DO - Command Select
, selectOutput Units - All (Default)
and send the command. - Calibrate in Air, aka dry. ~9.09 mg/L Select
Calibrate @ DRY (WILL RESET CALIBRATION)
. - Calibrate at 0 mg/L, aka Low or 0%. Select
Calibrate @ 0% (WILL RESET CALIBRATION)
. - Check calibration with command
Check Calibration
. The entitysensor.aquapi_XXXXXX_do_command_result
will output2
if followed above steps. - For Saltwater tanks, run the Salinity Compensation Command.
Salinity Compensation @ 35ppt
- Check salinity compensation with command
Salinity Compensation Value
. The entitysensor.aquapi_XXXXXX_do_command_result
will output?S,35.0,ppt
if followed step 5 (saltwater tanks).
Datasheet
You will need a graduated cylinder and water. Assemble the Doser pump with tubes and connect to the AquaPi. You can prime the doser by using the Dose Continuously
button. With graduated cylinder ready, dose a specific amount of volume into the cylinder and tell the EZO circuit what was actually dosed, then test by dosing a specific amount and see if it was expected.
- Input a specific amount into the
Volume to Dose
input number field. Example:8
, this may dose around 8 mL of liquid. - Press the
Dose Volume
button to dose the liquid into the graduated cylinder. - Input the actual amount dosed into the same
Volume to Dose
input number field above. Example: 6.4 mL was dosed, input6.4
into the number field. - Press the
Set Calibration Volume
button to save the amount for calibration. This will save it to the corresponding EZO-PMP cicuit. - Test by inputting a specific amount into the
Volume to Dose
input number field andDose Volume
into the cylinder. Repeat steps above if inaccurate.
Generic Sensor Calibration Card:
Replace with your specific AquaPi device and sensor type (default below is for Salinity)
type: entities
entities:
- entity: sensor.aquapi_f2c1e4_conductivity
name: Conductivity
- entity: sensor.aquapi_f2c1e4_ec_raw_value
name: Raw Value
- entity: sensor.aquapi_f2c1e4_ec_command_result
name: Command Result
- entity: select.aquapi_f2c1e4_ec_command_select
name: Command Select
- entity: button.aquapi_f2c1e4_ec_command_send_selected
name: Send Command
- entity: button.aquapi_f2c1e4_ec_read
name: Read Probe
header:
type: graph
entity: sensor.aquapi_f2c1e4_salinity
title: AquaPi Calibration for Conductivity
Read probe for about 60 seconds:
show_name: true
show_icon: true
type: button
tap_action:
action: perform-action
perform_action: esphome.aquapi_f2c1e4_ec_read_continous
target: {}
icon: mdi:infinity
name: Read for 60s
Dissolved Oxygen Salinity Compensation:
show_name: true
show_icon: true
type: button
tap_action:
action: perform-action
perform_action: esphome.aquapi_f2c1e4_do_salinity_compensation_35ppt
target: {}
confirmation:
text: Are you sure?
icon: mdi:shaker
name: Salinity Compensation
AquaPi for ESPHome
The Aquarium meets the Smart Home!