Installation problem

kdx7214

Member
Had a brief power flicker today and suddenly my setup no longer worked. Spent a couple of hours working on it and finally just gave up and decided to wipe/reinstall. Ran the install script several times with the same compile error on gpio.cpp as follows:

Code:
[INFO] Using forced low-memory build profile for Raspberry Pi Zero 2 W Rev 1.0 (JOBS=1, UNITY disabled).
[ERROR] Building Robo-Tank apps failed. (04:07)
Recent details:
cpp/gpio.cpp:126:25: error: ‘struct gpio::{anonymous}::LineHandle’ has no member named ‘req’
  126 |         if (!it->second.req) return false;
      |                         ^~~
cpp/gpio.cpp:127:9: error: ‘gpiod_line_value’ was not declared in this scope; did you mean ‘gpiod_line_name’?
  127 |         gpiod_line_value v = value ? GPIOD_LINE_VALUE_ACTIVE : GPIOD_LINE_VALUE_INACTIVE;
      |         ^~~~~~~~~~~~~~~~
      |         gpiod_line_name
cpp/gpio.cpp:128:56: error: ‘struct gpio::{anonymous}::LineHandle’ has no member named ‘req’
  128 |         return gpiod_line_request_set_value(it->second.req, static_cast<unsigned int>(lineOffset), v) == 0;
      |                                                        ^~~
cpp/gpio.cpp:128:100: error: ‘v’ was not declared in this scope
  128 |         return gpiod_line_request_set_value(it->second.req, static_cast<unsigned int>(lineOffset), v) == 0;
      |                                                                                                    ^
cpp/gpio.cpp:128:16: error: ‘gpiod_line_request_set_value’ was not declared in this scope; did you mean ‘gpiod_line_request_output’?
  128 |         return gpiod_line_request_set_value(it->second.req, static_cast<unsigned int>(lineOffset), v) == 0;
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                gpiod_line_request_output
make[1]: *** [Makefile:167: cpp/gpio.o] Error 1
make[1]: Leaving directory '/var/www/html'
make: *** [Makefile:108: build-clean] Error 2
[ERROR] Full log: /tmp/robotank_install.log

I made a couple of changes by hand and so far I'm 12:53 into the build without errors (it usually threw and error at about 3 mins before).

First I had to remove libgpiod-dev and download/build/install it manually. The version that is currently installed just doesn't work.

Second, the wiring-pi library is no longer downloading and installing, so I had to download/build/install it manually as well.

I'm currently 14:29 into the build and will update if it fails again.
 
So I should set the rules based on degrees C? The graph is showing degrees F lol.

The rules do run if I click play, and it currently is running on automatic and shows both heaters on, although I have them unplugged so I can plug them into the wall to keep the tank alive.

There are no jumpers on the controller at all. Note that this is the same setup I used under reef-pi so I'm not sure why there's a difference. I will put jumpers across them (if I can find some) and let you know.

I can remote into the pi and it does show the w1_bus_master? for 1,2, and 3, but there are no sensors on bus 3.

Thanks!

Update: I put jumpers in the AC1 and AC2 backup ports, but no change after a reboot. Software still lets me toggle on/off manually but the alarm clock does not turn on. I've also tried all of the ports on the power bar in case the numbering has changed (you really need to number the ports on the case) but nothing changes.

Okay, I got the rules to turn it on, left it, and this morning is was 81F in the tank. Do the rules not turn themselves off automatically or do I need another rule to turn it off?
 
Okay, I got the rules to turn it on, left it, and this morning is was 81F in the tank. Do the rules not turn themselves off automatically or do I need another rule to turn it off?
Sorry for the confusion, you do need to add custom rules to turn off the outlets based on temp. High on the list is a dedicated heater setup so it's easier.

I'm still thinking about the temp sensor, not sure what to think. Just to be sure I understand. If you plug that sensor into the main controller it shows up but when you plug into sensor extension it doesn't. You've verified the port is enabled in /boot/firmware/config.txt file and have rebooted the controller since.

Have you tried other sensor ports? If you do verify the # symbol is removed from the /boot/firmware/config.txt file.

The temp sensors are fully managed by the Pi, the app only reads /sys/bus/w1/devices. It's very strange because you do see the 3rd bus so the port is configured correctly, if the PU jumper is set it should work. Are you able to check the voltage on the port using GND and +5v and GND and DATA?
 
Sorry for the confusion, you do need to add custom rules to turn off the outlets based on temp. High on the list is a dedicated heater setup so it's easier.

I'm still thinking about the temp sensor, not sure what to think. Just to be sure I understand. If you plug that sensor into the main controller it shows up but when you plug into sensor extension it doesn't. You've verified the port is enabled in /boot/firmware/config.txt file and have rebooted the controller since.

Have you tried other sensor ports? If you do verify the # symbol is removed from the /boot/firmware/config.txt file.

The temp sensors are fully managed by the Pi, the app only reads /sys/bus/w1/devices. It's very strange because you do see the 3rd bus so the port is configured correctly, if the PU jumper is set it should work. Are you able to check the voltage on the port using GND and +5v and GND and DATA?

You're understanding correctly on the third temp sensor. The 3rd bus shows up, config.txt is setup correctly, but the pi won't see the ds18b20. If I plug it into the controller it works just fine. I have tried other sensor ports but the same result on them. I'm going to try to upgrade the pi today in case that's the issue. I did receive it yesterday and just haven't had time to fool around with it yet.
 
I'm sort of confused about the app UI. The system will run for 8-10 hours just fine, but then it randomly sets the output to manual control (manual override appears) and the heater just stays on continuously.
 
Sorry for the confusion, you do need to add custom rules to turn off the outlets based on temp. High on the list is a dedicated heater setup so it's easier.

I'm still thinking about the temp sensor, not sure what to think. Just to be sure I understand. If you plug that sensor into the main controller it shows up but when you plug into sensor extension it doesn't. You've verified the port is enabled in /boot/firmware/config.txt file and have rebooted the controller since.

Have you tried other sensor ports? If you do verify the # symbol is removed from the /boot/firmware/config.txt file.

The temp sensors are fully managed by the Pi, the app only reads /sys/bus/w1/devices. It's very strange because you do see the 3rd bus so the port is configured correctly, if the PU jumper is set it should work. Are you able to check the voltage on the port using GND and +5v and GND and DATA?

I've been trying to install the pi 3b but am running into boot issues with a rainbow pattern then a reset. I suspect power supply since the 3b requires a 2.5a supply. Can you recommend one that would work with Robo-Tank? I'm assuming it would need a slightly higher amperage since there is another device on a splitter cable.

I'm also having a weird issue with the UI. The system will sometimes run (on the pi zero 2w) rules correctly for a while, then it puts the heaters in manual mode and stops working. I can reset manual mode but it doesn't fix the problem. I can still control it manually though. A reboot sometimes fixes it and sometimes doesn't. Do I have something wrong with the rules?
 
I've been trying to install the pi 3b but am running into boot issues with a rainbow pattern then a reset. I suspect power supply since the 3b requires a 2.5a supply. Can you recommend one that would work with Robo-Tank? I'm assuming it would need a slightly higher amperage since there is another device on a splitter cable.

I'm also having a weird issue with the UI. The system will sometimes run (on the pi zero 2w) rules correctly for a while, then it puts the heaters in manual mode and stops working. I can reset manual mode but it doesn't fix the problem. I can still control it manually though. A reboot sometimes fixes it and sometimes doesn't. Do I have something wrong with the rules?
I'm really confused by the temp sensor, I would say that's not the app as /sys/bus/w1/devices is what detects them. 100% the port is configured otherwise you wouldn't have 3rd bus, only thing is the PU on port. Are you able to check voltage?

Sorry to hear about the outlets, it sounds like a similar issue someone just mentioned. I knew there was some visual issues, red dot would appear when the outlet switches, leaving dashboard and return or reload page and it would disappear but when I fixed that I did find some issues when manual mode is reset. Any chance you're manually controlling other outlets? If so that's likely the cause, when you exit manual mode on any outlet they all turn off instead of the system looking at related custom rules and schedules so it knows at that time what the outlet state should be. This is all fixed but I need another week or 2 to get update out. For now you can't control them manually or If you do turn off manual mode for an outlet you have to reboot the controller so it can determine what state it should be in.

The boot issue could be power supply related, 3-5 amp is best. It actually doesn't draw much current but during boot and randomly it will pull a high load. Prices are very similar so best to get a 5 amp.
 
I'm really confused by the temp sensor, I would say that's not the app as /sys/bus/w1/devices is what detects them. 100% the port is configured otherwise you wouldn't have 3rd bus, only thing is the PU on port. Are you able to check voltage?

Sorry to hear about the outlets, it sounds like a similar issue someone just mentioned. I knew there was some visual issues, red dot would appear when the outlet switches, leaving dashboard and return or reload page and it would disappear but when I fixed that I did find some issues when manual mode is reset. Any chance you're manually controlling other outlets? If so that's likely the cause, when you exit manual mode on any outlet they all turn off instead of the system looking at related custom rules and schedules so it knows at that time what the outlet state should be. This is all fixed but I need another week or 2 to get update out. For now you can't control them manually or If you do turn off manual mode for an outlet you have to reboot the controller so it can determine what state it should be in.

The boot issue could be power supply related, 3-5 amp is best. It actually doesn't draw much current but during boot and randomly it will pull a high load. Prices are very similar so best to get a 5 amp.

I'm not sure what to make of it. I've had it run for 6-8 hours just fine and then randomly stop processing rules. For instance I ran it overnight one night and all was working until around 4:30am and then the rules randomly stopped working (according to the event log). When I checked the tank it had dropped to 75F. At that point I turned them on manually to get the temp back to where it should be.

What size connector is used for the PS? I've never ordered a brick before :)

Edit: I just reset manual mode and then rebooted the pi. When it comes back up it should turn the heaters on as it's 1.5F below the temp I set in the rules (assuming I did the C/F conversion properly). The heaters never trigger on though.

Edit 2: Added some screen grabs of what I have setup in case I borked something.
 

Attachments

  • Screenshot From 2026-08-06 01-34-15.png
    Screenshot From 2026-08-06 01-34-15.png
    1.4 MB · Views: 6
  • Screenshot From 2026-08-06 01-34-03.png
    Screenshot From 2026-08-06 01-34-03.png
    1.2 MB · Views: 6
  • Screenshot From 2026-08-06 01-33-56.png
    Screenshot From 2026-08-06 01-33-56.png
    1.2 MB · Views: 6
  • Screenshot From 2026-08-06 01-33-06.png
    Screenshot From 2026-08-06 01-33-06.png
    1.5 MB · Views: 5
Last edited:
I'm really confused by the temp sensor, I would say that's not the app as /sys/bus/w1/devices is what detects them. 100% the port is configured otherwise you wouldn't have 3rd bus, only thing is the PU on port. Are you able to check voltage?

Sorry to hear about the outlets, it sounds like a similar issue someone just mentioned. I knew there was some visual issues, red dot would appear when the outlet switches, leaving dashboard and return or reload page and it would disappear but when I fixed that I did find some issues when manual mode is reset. Any chance you're manually controlling other outlets? If so that's likely the cause, when you exit manual mode on any outlet they all turn off instead of the system looking at related custom rules and schedules so it knows at that time what the outlet state should be. This is all fixed but I need another week or 2 to get update out. For now you can't control them manually or If you do turn off manual mode for an outlet you have to reboot the controller so it can determine what state it should be in.

The boot issue could be power supply related, 3-5 amp is best. It actually doesn't draw much current but during boot and randomly it will pull a high load. Prices are very similar so best to get a 5 amp.

Previous stuff still applies, but I received the Pi 3b and the power supply and got it installed. It's working fine and on it I actually see the 3rd ds18b20 sensor!

Still unable to get rules to work reliably. I setup new rules for it, rebooted, temperature is low but the rules do not run. How can I track this down? I'm starting to think reef-pi might be a better choice, but I'd love to keep working with this as the interface is much better.
 
Previous stuff still applies, but I received the Pi 3b and the power supply and got it installed. It's working fine and on it I actually see the 3rd ds18b20 sensor!

Still unable to get rules to work reliably. I setup new rules for it, rebooted, temperature is low but the rules do not run. How can I track this down? I'm starting to think reef-pi might be a better choice, but I'd love to keep working with this as the interface is much better.
Glad to hear the sensor is worked out, still strange it didn't work with the Zero 2. Unfortunately I think you've hit a bug in the custom rules, the setup looks correct. I have fixed quite a few things and will do more testing on them before I get the update finished. Unfortunately I've been quite busy with work lately which is adding to the delay. For now it might be best to go to v6.7 or reef-pi. If you want to try v6.7 use the same SSH install commands but change 7.0.0 to 6.7 and it'll install it. No issues with custom rules there just less features overall.
 
Previous stuff still applies, but I received the Pi 3b and the power supply and got it installed. It's working fine and on it I actually see the 3rd ds18b20 sensor!

Still unable to get rules to work reliably. I setup new rules for it, rebooted, temperature is low but the rules do not run. How can I track this down? I'm starting to think reef-pi might be a better choice, but I'd love to keep working with this as the interface is much better.
Sorry to butt in but one thing I've found is when the controller starts or the rule engine reloads while the temperature condition is already true, the code deliberately suppresses the first trigger. It waits for the condition to become false and then true again.

You may try pulling the temp sensor out and holding it in your hand for a bit to warm it up to make the condition false and then put it back in the water and wait for the condition to become true again and see if the ruleset runs.
 
Glad to hear the sensor is worked out, still strange it didn't work with the Zero 2. Unfortunately I think you've hit a bug in the custom rules, the setup looks correct. I have fixed quite a few things and will do more testing on them before I get the update finished. Unfortunately I've been quite busy with work lately which is adding to the delay. For now it might be best to go to v6.7 or reef-pi. If you want to try v6.7 use the same SSH install commands but change 7.0.0 to 6.7 and it'll install it. No issues with custom rules there just less features overall.

The 6.7 gives a 404 File Not found, so it's either no longer there or the filename isn't robotank_6.7.zip

Just tried the reef-pi instructions and apparently the connectors and stuff don't work anymore. It's unable to add any equipment at all. This is on a Pi 3b, so I'm hoping you can tell me how to get the 6.7 to work :)
 
Last edited:
Sorry to butt in but one thing I've found is when the controller starts or the rule engine reloads while the temperature condition is already true, the code deliberately suppresses the first trigger. It waits for the condition to become false and then true again.

You may try pulling the temp sensor out and holding it in your hand for a bit to warm it up to make the condition false and then put it back in the water and wait for the condition to become true again and see if the ruleset runs.

That's a good thought, but it wouldn't really be helpful when it randomly stops working overnight. That's the one I'm most concerned with. Going to have to go back to reef-pi for the moment, much as I hate to do it. It's a PITA to configure but it's at least stable. I was going to try the 6.7 version of the web app, but the file isn't there anymore (or the filename is incorrect).
 
That's a good thought, but it wouldn't really be helpful when it randomly stops working overnight. That's the one I'm most concerned with. Going to have to go back to reef-pi for the moment, much as I hate to do it. It's a PITA to configure but it's at least stable. I was going to try the 6.7 version of the web app, but the file isn't there anymore (or the filename is incorrect).
Very true, I looked to see if I still had the old 6.7 file anymore but I don't. I added a toggle to mine in the engine rules coding to run once if true on startup that I can select for rules like the heater. I'll check my notes on the changes I made for that.

I've added and changed so much that its hard to remember exactly what all I've changed but I'll look at my local repo notes.
 

Attachments

  • Screenshot 2026-08-11 114013.png
    Screenshot 2026-08-11 114013.png
    216 KB · Views: 6
@kdx7214 here's the patch file. I was unsure if you were running 7.0.0 or 7.0.1 since you were unable to find 6.7 which matters as the diff shows some code changes between the versions in two files. So I made a combo patch for you. It will check what version you're running and install the appropriate changes. It will also backup the files before changing them so you can always rollback if needed.

If you happen to be running a version different from either of those just let me know and we'll see what we can do.

I included a readme in the zip with instructions on using the patch. Let me know how it goes for you.
 
Last edited:
@kdx7214 here's the patch file. I was unsure if you were running 7.0.0 or 7.0.1 since you were unable to find 6.7 which matters as the diff shows some code changes between the versions in two files. So I made a combo patch for you. It will check what version you're running and install the appropriate changes. It will also backup the files before changing them so you can always rollback if needed.

If you happen to be running a version different from either of those just let me know and we'll see what we can do.

I included a readme in the zip with instructions on using the patch. Let me know how it goes for you.

Thanks! I'll give this a try when I get back home.
 
@kdx7214 here's the patch file. I was unsure if you were running 7.0.0 or 7.0.1 since you were unable to find 6.7 which matters as the diff shows some code changes between the versions in two files. So I made a combo patch for you. It will check what version you're running and install the appropriate changes. It will also backup the files before changing them so you can always rollback if needed.

If you happen to be running a version different from either of those just let me know and we'll see what we can do.

I included a readme in the zip with instructions on using the patch. Let me know how it goes for you.

I just had a chance to try this. The install and build succeeded but it fails to connect to the database and gets a PDO exception. Also, for some reason the rollback fails :)
 
I just had a chance to try this. The install and build succeeded but it fails to connect to the database and gets a PDO exception. Also, for some reason the rollback fails :)
Ok my apologies for the problems with the earlier file. I'm unable to run the file on an actual pi because my spare decided to experience component failure. I've ran this new file on a virtual machine setup with the same hardware as the pi itself and everything looks good on it. No connection problem and no pdo exception.

After extracting the file if you're still on the install with the pdo exception and connection issue please run this command:
sudo ROBOTANK_APP_ROOT=/var/www/html php check_custom_rules_health.php

After recording the output please run this command.
sudo bash rollback_controller_patch.sh

The installation of the patch won't go unless its the stock unmodified files so that last command will copy the stock files back to their places. After those two things are done you can continue with installation by doing the same as the earlier file.

cd RoboTank-7.0.0-7.0.1-custom-rules-run-on-startup-1.2.1
sudo bash apply_controller_patch.sh

Again I apologize for the issues earlier. This should get you going again. Please let me know if any other issues occur.
 

Attachments

  • RoboTank-7.0.0-7.0.1-custom-rules-run-on-startup-1.2.1.zip
    230.5 KB · Views: 0
Last edited:
Ok my apologies for the problems with the earlier file. I'm unable to run the file on an actual pi because my spare decided to experience component failure. I've ran this new file on a virtual machine setup with the same hardware as the pi itself and everything looks good on it. No connection problem and no pdo exception.

After extracting the file if you're still on the install with the pdo exception and connection issue please run this command:


After recording the output please run this command.


The installation of the patch won't go unless its the stock unmodified files so that last command will copy the stock files back to their places. After those two things are done you can continue with installation by doing the same as the earlier file.



Again I apologize for the issues earlier. This should get you going again. Please let me know if any other issues occur.

Just had a chance to try this and it does solve one problem (the power-on situation). I'm still having the problem where the rules run for 6-8 hours and then just randomly stop working :(

Guess I'm going to have to learn reef-pi connectors anyway lol
 
Back
Top