HestiaPi ONE - Detailed BOM

Yes, to all. Those are the relays, I am saying they do work when the GPIO pins are flipped, and that the GPIO pins are not being flipped by the stock software.

Picture of the component:

Some info about my system:

  • It’s a US system
  • I don’t have a common wire (hence the need for an external 5V supply)
  • The heating and cooling have separate hot wires, which I combined (so if they are separate transformers supplying the 24V AC, they are in phase)

The BME sensor issue is not resolved. Below is the exact output from the relevant commands. Temperature value is correct.

pi@raspberrypi:~ $ i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- 76 --
pi@raspberrypi:~ $ ./scripts/bme280.py
Chip ID     : 88
Version     : 1
Temperature :  77 F
Pressure :  994.022775087 hPa
Humidity :  0.0 %

Glad to hear those relays work. Maybe ill finally finish mine and order that header block that you used for the display. Then I just need to work out power, since I’m also on a 2-wire heating system.

So my only guess is that something went wrong on the first boot. I remember accessing the web UI too early caused an issue and we got that problem even by leaving a tab open on our browser. I would suggest reflashing the card, and once you set the WiFi details on the webpage, leave it alone (close any browser or app that could be polling in the background) for 15 minutes and try again.
The sensor and the relays look totally fine. No need to touch them :slight_smile:
I cannot understand why my mouser-supplied relays behave differently…?

I’d be interested to hear if you have different results. If not, maybe I’ll have figured out what’s going on with the GPIO pins not triggering and have some advise (or a patch) for everyone.

Hey @hestia_hacker did you ever get the relays figured out? I ordered the pins for the display, but they havent arrived yet.

I found some interesting results. TL;DR root cause remains elusive, but I may have found a kinda terrible workaround.

First, I saw this same problem on my original HestiaPi (from the croundfund) where the A/C wasn’t coming on during our mini-conference! Rebooting it fixed the problem, but I fear that it will only return until we get to the root of this matter.

I booted up my new device, since that is where the problem has been reproducible (plus I am not too keen on experimenting on my production unit in the middle of August). I found that upon booting, it was not flipping the GPIO pins (according to /sys). I manually flipped one (echo 1 … as root). That held. When I used the LCD to turn it off, I checked the value and the pi was able to turn off the GPIO pin. Next, I tried using the LCD to turn on the fan again and it worked just fine.

I repeated this process with the cooling pin and the heating system. The pattern seemed consistent: after manually toggling it, the LCD controls (and the app) worked fine.

I am now going to reboot many times and try these things in different orders and as different users. I did check the permissions on the gpio pins and they’re rwx by the gpio group, of which the pi user is a member. This seems correct, so we’ll see if I can find a real workaround here.

As a side note, it takes quite a while for the gpio12 smylinks to get placed by… well the kernel I guess. So putting something to flip them low on boot will need to be aware that this would likely have to be a blocking action.

I’ll let you know what I find, but each reboot is about 15 minutes, so it might be a while before I have any real results.

Thanks! I’m excited to get this thing working, I started this months ago, and its still just a non-functional trinket sitting on my shelf because i was unable to get the display pins figured out. Once i get those, i’d love to get to the gpio pins, and get the thing into service!

2 Likes

More pictures of the finished product. :slight_smile:


1 Like

In all tests thus far, the icons in the UI show accurate status (flashing when the corresponding relay is closed, not flashing when the relay is open). The heat/cooking does not turn on when expected though: e.g., the room temperature is below the set point for heat or above it for cold and the GPIO pin never flips to a 1. Room temperature is always accurate on the UI.

It seem there may be several unrelated bugs that are making it more difficult to debug.

It seems that nothing ever works right the first time it boots, but a soft power cycle improves the situation. I can’t explain why this is the case, but it is what I am observing. Maybe some components aren’t initalzed in the correct order during the boot process?

The remainder of this post will be my notes from repeated tests. I’d rather be posting a conclusion, but I haven’t been able to figure it out yet.

Attempt 2 (soft reboot): The fan and coolingworked as expected without any fooling around.

The heat, on the other hand, did not have the flame icon flashing even though my heat is “auto”, the set point is at 26°C, and the room temperature is 23.4°C (with the comfort range set to ±1°C). I don’t have any explanation as to why this is the case, but it seems like it is an issue with the software (OpenHAB?) not attempting to trigger the GPIO pin. This is an important distinction because it means maybe I should stop looking at the Linux kernel and the GPIO pins. Test ended without being able to get the heat working.

Attempt 3 (after a full shutdown & power cycle): software doesn’t change any GPIO values. Command line can flip them.

Attempt 4 (after a soft reboot): heat and fan both work, cooling never kicks on. In both this test and test 2, the first system I tried was operational and the other was not.

Attempt 5 (soft reboot): cooling and fan came on automatically, which was correct. Turning off the cooling did not disable the fan, but I flipped it on and off again and the fan did shut off the second time. The heat worked properly (aside from the fact that it turned on the fan, which is only used for the cooling system). Basically, everything worked acceptably well.

Attempt 6 (soft reboot): fan was on at boot (undesirable). Everything seemed to function correctly, however I did see a glitch where the heat was on (relay and icon) while the “heating off” was displayed. The relay did open when I turned the heating system off, but then it closed again just after the fan spun down. Turning the heating on and off again got it back into the correct state.

Attempt 7 (soft reboot): same as test 6. Cooling cme on automatically (as desired). Reproduced the glitch with heating. Here is the sequence:

a. Turn heat on, only fan activates
b. turn heat off, heat and fan activate
c. turn heat on, heat and fan remain active
d. turn heat off, heat deactivates and fan remains on
e. turn off fan

Attempt 8 (soft reboot): Heat is glitching same as before, but relays worked fine. Cooling worked fine. Now that I seem to have consistent results, time for a full power cycle.

Attempt 9 (full power cycle): same as test 3 however I did not manually trigger the relays from the command line.

Attempt 10 (soft reboot): everything worked more or less as expected. Had to turn the heat up quite a bit before it triggered the relays, but it did trigger them.

I am willing to put up with this error for my own system, but it’s hard for me to recommend others get a HestiaPi with it being like this.

I am going to solder together another unit and go through all this testing again. That will also let me swap out the temperature sensors to see if I can figure out why I am not getting humidity data (bad part, maybe?)

I can’t quite conclusively say that all the hardware is good and we are only dealing with software issues, but that is what it looks like.

Very nice! Let us know whether you have any issues or if everything works on the first try. Cheers.

So I did get it booted up, and even hooked it up, but I was having some speed issues.
I will link it:

so yours works, its just delayed? Unlike @hestia_hacker who cant seem to get the relays to trip at all?

ok! i finally took teh time to order that other pin header block, and today installed it in place of the connector I had on there. It works! case fits with the display now!

So now I just need to know one thing, is this thing actually going to work? I have a 24vac power brick that I can power it with. It comes on, it’s what I was doing my initial testing with. How do I test for certain if the relays are working without actually installing it in place of one of my thermostats? I’m guessing I just measure across some terminals on the terminal block, no? If so, what am I measuring, and from where to where?

Thanks! once I know if the relays are working, I can get on to the same testing that others here are reporting.

Well done!
The relays, as they are solid state, control only AC voltages, so connect your 24V AC power accordingly:

and use a voltmeter on the AC mode between C and each contact under test.

So, if youre shopping for parts, this list is accurate except for the display connector. instead buy two of these:
https://www.digikey.com/en/products/detail/amphenol-icc-fci/77313-852-16LF/4405070
and cut one of them down to 10 pins, solder them in next to each other to get your 26 pins for the display.

ill be testing the relays shortly.

Ok, so again, not connected to my actual heating system yet, but i have my 24v transformer connected to C and R, and this powers up the hestia. It comes up, ive already got it configured for wifi and whatnot, thats all good to go. Touch screen works and shows me the current temperature and things. As far as I can tell, the system is up and functional.

If i set to temperature high, the display shows me that heating is on by flashing the little fire icon. At this point i shuld be able to measure across R and W right? Even if nothing is connected to W? If so, something is not working, as I see nothing across R and W, or R and anything else for that matter (except for C of course, R and C show me 24vac).

Nope :slight_smile:
image

Pay attention to the 4 switches above, representing the relays.
R and W are sorted when the heating is on. But W and C on the other hand will give you 24V AC when ON and 0V when OFF. Same applies for G, Y and W2 (all with C respectively). Forget R for this test

so… really what i should look for in continuity between R and W right? which would mean the relay has been switched on for heat. Right? If thats the case, then it is in fact working.

Just edited my previous post…sorry for the confusion.
Im not sure about continuity as it is not a traditional relay.

Thanks! So, two things.

  1. that worked. Between C and whatever ive switched on, i get 24v. Yaay!

  2. Continuity between R and whatever I switched on also seems to work. Or, rather resistance, as that’s what the meter i have on hand is able to measure. I get infinite (no reading) between R and any terminal that is not switched on, and I get about 9K ohms from R to whatever terminal i’ve switched on. Whether 9K ohms sounds right or not i have no idea, i sort of expected minimal resistance there, but shrug. Its definitely changing the state of the relay when i switch on heading/fan/cooling. And its doing it immediately. Which contradicts a lot of the other findings in this thread!

At any rate, i feel like my hestiapi is working! Now i just need to work out powering it on the wall, as my heating system is only 2 wire.

Thanks!

1 Like