HestiaPi Touch not switching heating off/on on temperature change

Hello
I had some problem with my first HestiaPi Touch I built with a breadboard-like method. I used a DHT22 sensor and had to modify the installation to let it works, so I didn’t report this problem since now. Last week I assembled a standard Touch board with standard in/out pins and sensors (upgraded it to 10.4 image), but the problem is still here.
When I power on heating (from openhab app, the button on touch UI is not working for me) and set the temperature setpoint, the heating relay switch. The temperature start rising, but when it become greater than the setpoint, the relays don’t switch off. Same thing if I turn the heating off by hand: after the temp. decrease under the setpoint, the relay don’t switch off.
I’m not sure how to debug this problem, can someone help me with some hints?
Thank you.

Login via SSH and run (from anywhere):

openhab-cli showlogs

this will give you a live view of the logs. Then try and see if changing the setpoint triggers the appropriate rule. I assume something is not read from the DHT as it should. We gave up on DHT for BME long time ago, so I can only guess.

I’ll check the logs, but if I change the setpoint the relay acts correctly. Only change in real room temperature are filtered.

EDIT: a bunch of these lines in logs:

2019-02-02 11:51:07.872 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule ‘convertproxy’: For input string: “NULL”

MyTemp and MyTempProxy correctly change their values.

I think you found it :wink:
The rule that complains (search for convertproxy here) converts the data type (string to decimal) of the reading.
You need to delete/comment all the pressure lines and also check the conversion as the DHT script returns the values in a different format. We use a different variable for showing the temp/humi on the LCD and for comparing it with setpoints.

OK, this makes sense, but now I powered on the new one (with the same problem, but on 10.4) and logs show:

2019-02-02 12:22:58.834 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule ‘SetTempSetpointInc’: Could not cast 24.5 ℃ to org.eclipse.smarthome.core.library.types.DecimalType; line 68, column 27, length 33

May be I found 2 different problems?
Lucky me!

EDIT: Commented the “pressure” lineas, but I think the conversion is good because of that log:

2019-02-02 11:54:16.309 [vent.ItemStateChangedEvent] - MyTemp changed from 21.7 to 21.8
2019-02-02 11:54:16.783 [vent.ItemStateChangedEvent] - MyTempProxy changed from 21.7 to 21.8

Call the script defined in the .thing file and check the output.
I think the script returns the unit too (24.5 ℃) which is not going to convert to anything like that. Modify the DHT script to return only numeric data (24.5 in this example)

I commented the pressure lines and the old one with DHT sensor works!

I need to check spare errors and warning on the newer one. I’ll let you know…

After collecting some logs from the 10.4 with BME sensor, I must add that I flashed the EU version of the image. There is something broken in “checkcurrenttemp” rule as stated by the logs:

2019-02-02 19:41:19.031 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule ‘checkcurrtemp’: Could not cast 27.0 ℃ to org.eclipse.smarthome.core.library.types.DecimalType; line 97, column 35, length 33

Here the problem must be the °C after the number. The only function that need a conversion is the one for chart generation, so I commented it out. Now the problem is moved to “HeatingMode” and “SetTempSetpointInc/Dec” rules:

019-02-03 12:12:29.852 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule ‘SetTempSetpointDec’: Could not cast 18.0 ℃ to org.eclipse.smarthome.core.library.types.DecimalType; line 79, column 27, length 33

2019-02-03 12:12:31.824 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule ‘SetTempSetpointInc’: Could not cast 18.0 ℃ to org.eclipse.smarthome.core.library.types.DecimalType; line 68, column 27, length 33

but I’m not sure how to solve it because the code seems legit.
I bet this is a EU version only related problem due to DecimalType conversion…

I’m beginning to add some log instructions to check where the error is, but if someone have a hint, you are welcome!

I found the problem!
During tests, I have my first and running HestiPi connected the heating plants. I use the OpenHab android app to configure it.
I noticed a second app on the play store, the OpenHab Beta one, so I decided to use it for my second HestiaPi under testing. Unfortunately the beta name is not a coincidence. It is updating the temperature setpoint using not only the number, but a “°C” text at the end. This thing is messing the variables value and the conversion starts failing.

DON’T USE THE OPENHAB BETA APP FROM PLAYSTORE! IT’S BUGGED!

I’m going to test my new HestiaPi with working instruments.

Bye for now.

Edit the script linked from the .thing file for the DHT.

Try running it directly from SSH with:
python AdafruitDHTTemp.py
And see if the output has the 'C at the end

Sorry, I was not clear enough.
The same problem appear on 2 different HestiaPi.

  • The one with the DHT sensor need to comment the lines relatives to the pressure reading.
  • The new one with BME sensor give the error when I try to configure it through the Beta app. Solved using the official app.
    Solved all the issues I got.
    Thanks for your help.

P.S. I noticed the “chart” section is not working. Is it a work in progress?

No it is just very slow to render. Make sure the desired period is selected from the top bar, go back and enter the graph page again. You may need to wait up to 15sec sometimes. I have looked for alternative solutions to cache the graphs but it wasn’t something easy. It is just too much for zero