-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update rule library version #121
Conversation
@blb4github can i ask you to test this PR next? |
I’ll test is. What can I expect from it? |
Not much at this point from a user point of view, but on the backend a lot has changed and made more performant. Also this version can be set to run fully async. |
Funny thing right. Nearly 5,921 line additions and 3,021 line removals and as an end user, you won't notice much 😄 |
anything more to test? I'm running 3.2.1. now |
Not at the moment. |
@blb4github Can you try this one: |
Hi @CurlyMoo, I tried yesterday evening, it was not stable at all. I could only install other FW by deleting all rules and switch off OT. |
When testing, make it a good practice to give me concrete examples that can help me reproduce the issues. I’m curious.
|
it's a bit difficult to test it but I'll try to give a better description: |
Can you try removing all rules and check how the rest runs? |
also without rules is was constantly crashing, approx every 10 seconds. Switching off OT did make it much more stable, it's running now for 25 minutes |
@blb4github Can you test this one: https://github.com/CurlyMoo/HeishaMon/actions/runs/6603236891 |
I've loaded this last version: |
Can you load this firmware on your test HeishaMon and let me know a concrete trigger for the crash? |
I'll do this evening |
I found it really hard to get it to crash. |
Hi @CurlyMoo, I have tried it once more last week on both my spare and live HeishaMon, the result for me (again): |
Thanks for testing! I switched from a Wemos D1 to an actual OpenTherm Heishamon for additional debugging. I will get back soon with results. |
You're right. My fixed introduced new issues. |
@McMagellan Can you check the latest commit? |
Version Alpha-0776a05, build #537 on Heishamon V4. look how beautifully it works !! A 22 minute test with my test rule and a real heating cycle is recorded in the attached log file. I think this is a big step towards better acceptance of rules. I will now change my main rule "CoPilot" to the new situation. Thank you |
I'd wish more people would be so cooperative. |
In reality, you provide the cooperative service. |
All because of users willing to get into contact with their ideas.
|
I'm sorry, I follow the conversation but not more than that on this moment. Thanks both for the progress you're making!! I was a bit frustrated with all issues with larger rules sets on the esp8266 based HeishaMon, I'm very happy with the huge improvement (stability, rules size) of the latest HW (v5 and firmware 3.5 and above). I'm still updating to Alpha firmware, I'm now running Alpha-0776a05 and that's running stable (for 5 hours now). I did use the minify solution from @klaashoekstra94 but that's not necessary anymore as the rules size seems unlimited now. I'm planning to improve my rules set, especially for cooling but I have not found time for that yet. |
Feedback: Heishamon crash during connecting webserver @McMagellan Can you discuss this in the issues instead of in this PR. done |
@McMagellan Can you discuss this in the issues instead of in this PR. |
@CurlyMoo Can you give me a link? I´m not an expert in Github. |
@CurlyMoo: |
Confirmed, working on a fix. |
In the meanwhile, you can enclose these formulas in
|
Fixed |
Switch to Version: Alpha-8727660, build #539 on Heishamon V4. After I loaded my CoPilot Rule it no longer works. You can also see that the variable #ATBackup = $HKTempUnten was supplied with the name string of a variable from the rules code instead of a numerical value (#ATBackup = @Outside_Temp;). I attached my not ready build CoPilot Rule so you can reproduce it. |
Additional information about the malfunction in build #539. What can be seen in the console log is a non-working SetCurves command and an incorrect assignment of a variable. It looks to me as if the correct internal memory allocation of the variables in this rule is incorrect when parsing. |
I know where the bug is. The fix is also not difficult. I just need some focus time.
|
I again pushed a fix. |
I switcht to Version: Alpha-8dab112, build #541 on Heishamon V4, 14.6.2024. Further tests will follow. |
No. You can read about it here: Inside the code, it's this function: And again, more specifically this part where it tries to determine the start/end boundary within the free registry slots are determined: That was too wide resulting in hitting the internal |
OK. That's too deep in the source program for me to understand anything there. Two more questions:
|
|
Feedback: Malfunction in calculating an IF command. If I remember correctly, this error was already described by @stumbaumr. The peculiarity:
The same code integrated into my CoPilot ruleset (16 rules) causes this malfunction to occur reproducibly. Attached is the working rule and the CoPilot ruleset where the malfunction occurs. This ruleset may contain additional errors because a lot has been changed and is untested in order to maintain reproducibility. DHW holiday rule.txt |
I see what's happening. The rule block inside the failing one and as a separate rule: Failing one:
What it should be:
|
The latest commit should fix the issue. |
Feedback: Error in IF evaluation This morning, after about 12 hours of operation, unlike every day before, there was no freezing of the tab when opening the WebGUI. The console worked correctly with the rules and did not have to be restarted. Testing in the next few days will be difficult or not possible at all due to the high outside temperatures. |
This contains various improvements: