OpenHAB not working correctly after running a system update

I just installed my thermostat today and got it all up and running nicely. I then went in and ran an apt upgrade in a screen to get things nice and up to date. Unfortunately, this seems to have broken things:

The web interface only shows Settings and Info instead of the heating, cooling, and fan controls.
In places, placeholder text is being used. I’d add a screenshot but I seem to be limited to one per post as a new user.

What’s going on? It was working perfectly fine until I ran the apt upgrade.

Welcome to the club! :slight_smile:
Please see this solution.

I tried it and it sort of worked, but I’d rather not make changes that could interfere with it in the future (and some of it was a bit hard to follow) so I tried redownloading the HestiaPi Touch ONE firmware and reflashing the SD card.

Unfortunately, the firmware on the site must be different in some way (older?) than the one in the SD card I received with the device because instead of showing the “connect to the wifi network” and then “Please wait 500…499…498… seconds screen” it simply shows a white screen so I can’t really tell if it’s working. Guess I’ll just wait and hope the screen changes away from white eventually, aha.

Trying not to pull the cover off too many times as the little plastic bobs that keep the board attached to the backplate always come out and the screen bends away from the faceplate due to what looks like a snapped off tab (like that when I got it from the box)

Cheers.

Unfortunately, it’s gotten worse. It shows a little bit of the system log while it boots but then switches to a white screen and just stays that way forever. I can SSH in and everything since I was able to see the HESTIAPI network and put in my home wifi creds. Really, really regretting that fateful moment I chose to run an apt upgrade because even with the downloaded clean firmware it still doesn’t work :frowning:

I didn’t think things could get worse, but they did. I tried to remove the faceplate again, and another one of the screen tabs broke off due to the added strain from the one that was previously missing. The main board is now dangling by the wire (i can’t get it to stay on the backplate due to these crappy plastic bits that are supposed to mount it to the backplate).

This is just getting worse and worse.

I thought I was making progress but now the UI doesn’t show and it doesn’t even spawn the server listening on port 8080 anymore. I can still ssh in though. This is with a freshly flashed SD card (I made several - I have a lot of micro SD cards - to rotate out while testing). I’m holding the device together with putty now to keep things from falling apart when I try to open it. It’s sort of working.

Which image did you download? It is identical to the one shipped with the unit. You can push the plastic rivets back in to lock the board onto the backplate. Make sure you cut the power first! The LCD is not plug and play. Power needs to be cut before removal and restored after LCD is re-inserted. Make sure you insert it correctly as you are risking damage
image
Original image needs 25 minutes to boot once you enter your WiFi credentials. Leave it alone for that period.

Please review our wiki with more info before more trial-error.

I seem to have gotten it sort-of working for now. The temperature reading isn’t working (it was working yesterday), though, nor is the touch screen (which stopped working yesterday evening), and it tends to go all white after leaving it on overnight requiring a reboot (which I use the reboot script for inside the scripts folder).

Temperature reading seems to be failing here:

pi@thermostat:~ $ sudo scripts/getBMEtemp.sh
Traceback (most recent call last):
  File "/home/pi/scripts/bme280.py", line 173, in <module>
    main()
  File "/home/pi/scripts/bme280.py", line 161, in main
    (chip_id, chip_version) = readBME280ID()
  File "/home/pi/scripts/bme280.py", line 56, in readBME280ID
    (chip_id, chip_version) = bus.read_i2c_block_data(addr, REG_ID, 2)
IOError: [Errno 121] Remote I/O error

So I’m not sure what’s up with that exactly. Not sure how to debug the screen going white after leaving it on overnight (not that I actually intended to ever turn the thing off, but hey) but I think getting my temperature/humidity reading back up and running is first priority. It was working fine and I haven’t touched it since I got it “working” again, so there shouldn’t be anything that’s changed with the actual physical device. The sensor probe (I assume) is safely tucked away through that little notch and compartment in the bottom of the casing.

Please try the resoldering technique thoroughly. We believe there are a few bad solder points that do not keep a valid connection all the time and trigger this weird behaviour.

Thanks, I’ll do that this afternoon. In the meantime, my temperature has dropped to about 61 F - I’m ssh’d in to the Pi, is there any way I can manually trigger the furnace with one of the scripts until I get the serial lines for the sensors resoldered?

Edit: I poked around with the openHAB CLI and found this:

openhab> smarthome:update HeatingPin ON
Update has been sent successfully.

Now my furnace is running :slight_smile:

Yeahhh so I’m pretty sure the sensor (or something on the HestiaPi) bit the dust because it’s not working at all even after I re-soldered the header pins. Also tried a different F2F wire. I’m half tempted to try to set up a test jig but I can’t find any of my Arduino boards. With that said, the HestiaPi seems to give up on starting up the UI if it can’t get sensor readings and the screen goes all white. I’ve been having to SSH in to turn my furnace on/off.

I might try to order a new sensor online but I’m starting to wonder if things are going to get much better at the moment. I understood that I might have the “Linux experience” with this and I was perfectly fine with that but the rate of issues I’m running into is a bit much for even me.

Any tips you can provide would be greatly appreciated.

It might be more convenient to issue the commands using curl.

curl -X POST --header "Content-Type: text/plain" --header "Accept: application/json" -d "ON" "https://hestiapi:8080/rest/items/HeatingPin"

Beyond that I don’t have much else to offer in terms of helping.

You can follow what is going on during boot by ssh’ing into the machine as soon as you can and tailing /var/log/boot.log, /var/log/openhab2/openhab.log, and /var/log/openhab2/events.log. It might be worth tailing /var/log/syslog as well to cover all the bases (I like to use multitail for this). Perhaps you will find an error and be able to correlate that error with when the screen goes white.

1 Like

Thanks! I’ll check into that. I’m getting pretty determined to figure this out at this point :slight_smile:

Oh, an update: So I rebooted once again this morning and all of the sudden it can read the temperature probe, which is great, but the touch screen has stopped working. I don’t believe I’ve ever connected the screen improperly because the header pin socket doesn’t really let you do that. I’ll see if I can get it working again.

Oh it does unfortunately :frowning: Custom height headers with socket had this issue