Wow, thanks Rich, for this great teaching lesson.
Needed to read it twice to fully understand all your comments.
Very interesting!
I had a look at your rules where you checked this.event in the “But only if” section.
What I don’t understand why this code in the “But only if” section is not working
When a rule is triggered manually, the conditions are never applied (which could be a problem with the edited the rule use case now that I think of it). It’s a work around so I don’t imagine it’s ever going to cover all the cases.
I see. I started the rule manually and thought that “But only if” gets executed. Obviously that’s not the case. Would have been a great option because the original code would remain unchanged.
Anyway. I like this.event approach and will now change my rules accordingly.
We don’t usually recommend Oracle Java because of their onerous licensing but in general the “correct” one is going to be what ever Java 17 implementation will run on your CPU (ARM, Intel, AMD, etc.) and operating system. To run 64-bit Java you must have a 64-bit processor and 64-bit OS.
I wanted to do some test like Stefan did.
Assume that I will choose the correct package for my CPU and architecture, I just wanted to double check I choose the correct jdk package (GraalVM JDK17 vs. JDK17).
To do that test you’ll need an RPi and at least two SD cards or two RPis. The problem is most pronounced on RPis.
One will need to have a 32-bit Raspberry Pi OS installed with, of course, a 32-bit JDK. The other will have the 64-bit Raspberry Pi OS installed and then there’s two tests, one with just a 64-bit JDK of any variety and one with GraalVM which only comes in 64-bit flavors.
I have been switching from openHABian 32Bit to 64bit and imported my backup (Openhabian 4.03 @ Raspberry Pi 4B 8GB)
Unfortunately, there is no change in behaviour. My simple rules for switching and dimming light through a Zigbee Device are delayed by roughly 10 seconds on first execution and after some hours of not executing. Is there any other solution yet?
If I understand the context correctly, and the explanation given previously in this thread (lots of disclaimers here ), to get better performance you would need to replace OpenJDK with GraalVM. And GraalVM only supports 64 bit. So just running OpenJDK 64 bit will not improve anything.
Did I forget to configure something when porting from 32bit to 64bit? Because on my installation, there is not really any improvement noticeable when running simple blockly scripts first time.
Well, I did say experiments thus far. Maybe there is something else going on causing problems. I do know it’s very sensitive to running out of RAM and high system loads.