Output on/off not working with Bang-on Bang-off

I am attempting to build my first mycodo ph controller. The ph probe shows the current PH value in ‘live measurements,’ the ‘input,’ section of Mycodo, and also on my configured ‘dashboard’. I then configured two generic GPIO peristaltic pumps in the ‘Output’ section of Mycodo. From the output page I can turn on/off the pumps and I can do the same from the dashboard; this portion works without issue. I setup a bang-bang function to raise/lower the ph of the water with a .01 hyst targeted at 6.0. The function shows up in the Mycodo logs, but never turns on the pumps. Am I missing something?

2022-02-09 11:16:35,800 - INFO - mycodo.function.bang_bang_on_off_7eff7a25 - Input: 6.597201951027901, output_raise: off, output_lower: off, target: 6.0, hyst: 0.01
2022-02-09 11:16:39,771 - DEBUG - mycodo.controllers.controller_input_1b327272 - Adding measurements to InfluxDB with ID 1b327272-4a37-4faf-ac27-fdc4876268da: {0: {‘measurement’: ‘ion_concentration’, ‘unit’: ‘pH’, ‘value’: 6.610755747528582, ‘timestamp_utc’: None}}
2022-02-09 11:16:44,721 - DEBUG - mycodo.controllers.controller_input_1b327272 - Adding measurements to InfluxDB with ID 1b327272-4a37-4faf-ac27-fdc4876268da: {0: {‘measurement’: ‘ion_concentration’, ‘unit’: ‘pH’, ‘value’: 6.579925220003956, ‘timestamp_utc’: None}}
2022-02-09 11:16:49,768 - DEBUG - mycodo.controllers.controller_input_1b327272 - Adding measurements to InfluxDB with ID 1b327272-4a37-4faf-ac27-fdc4876268da: {0: {‘measurement’: ‘ion_concentration’, ‘unit’: ‘pH’, ‘value’: 6.76141434396872, ‘timestamp_utc’: None}}
2022-02-09 11:16:54,719 - DEBUG - mycodo.controllers.controller_input_1b327272 - Adding measurements to InfluxDB with ID 1b327272-4a37-4faf-ac27-fdc4876268da: {0: {‘measurement’: ‘ion_concentration’, ‘unit’: ‘pH’, ‘value’: 6.792993672201137, ‘timestamp_utc’: None}}
2022-02-09 11:16:55,663 - INFO - mycodo.function.bang_bang_on_off_7eff7a25 - Input: 6.792993672201137, output_raise: off, output_lower: off, target: 6.0, hyst: 0.01
2022-02-09 11:16:59,772 - DEBUG - mycodo.controllers.controller_input_1b327272 - Adding measurements to InfluxDB with ID 1b327272-4a37-4faf-ac27-fdc4876268da: {0: {‘measurement’: ‘ion_concentration’, ‘unit’: ‘pH’, ‘value’: 6.711208438423947, ‘timestamp_utc’: None}}
2022-02-09 11:17:04,717 - DEBUG - mycodo.controllers.controller_input_1b327272 - Adding measurements to InfluxDB with ID 1b327272-4a37-4faf-ac27-fdc4876268da: {0: {‘measurement’: ‘ion_concentration’, ‘unit’: ‘pH’, ‘value’: 6.8122343687447975, ‘timestamp_utc’: None}}
2022-02-09 11:17:09,764 - DEBUG - mycodo.controllers.controller_input_1b327272 - Adding measurements to InfluxDB with ID 1b327272-4a37-4faf-ac27-fdc4876268da: {0: {‘measurement’: ‘ion_concentration’, ‘unit’: ‘pH’, ‘value’: 6.714246198875217, ‘timestamp_utc’: None}}
2022-02-09 11:17:14,711 - DEBUG - mycodo.controllers.controller_input_1b327272 - Adding measurements to InfluxDB with ID 1b327272-4a37-4faf-ac27-fdc4876268da: {0: {‘measurement’: ‘ion_concentration’, ‘unit’: ‘pH’, ‘value’: 6.7612249417755335, ‘timestamp_utc’: None}}
2022-02-09 11:17:15,775 - INFO - mycodo.function.bang_bang_on_off_7eff7a25 - Input: 6.7612249417755335, output_raise: off, output_lower: off, target: 6.0, hyst: 0.01

The Bang-Bang (On/Off) Function only works with On/Off Outputs. Similarly, the Bang-Bang (PWM) only works with PWM Outputs. I just updated the docs to reflect this.

Hi Kyle I was going to attempt doing a similar thing. How do we control outputs such as PWM or uln2003 stepper motor?

Is there a suitable controller for uln2003 stepper motor output?

There are several PWM Outputs. There is not currently an output for the ULN2003. See the Supported Devices section of the manual:

Outputs are each contained in single-file modules and are not terribly difficult to make support for new outputs. The best way to approach this is to find an output that already exists and modify it to work with a new Python library to control your new output device.