Grundsätzlich wirst Du mehr als nur Fragmente finden, allerdings wird das Problem sein, dass es eben keine Kategorisierung gibt.
Bei openHAB ist learning by doing angesagt

Du kannst im Netz nach XTend suchen, denn das ist die Grundlage der Rules DSL. XTend ist sehr gut dokumentiert, aber für Programmierer... Weiterhin ist die Dokumentation zu Java (auf dem XTend aufbaut...) eine gute Grundlage, allerdings gibt es auch viele Unterschiede zu nativem Java, also ist das auch nur eine grobe Richtung.
Die beste Quelle für eigenen Code ist also, sich Code von anderen anzuschauen.
Was das LONG_PRESSED betrifft: Weil Du schreibst, es trete teilweise auch mehrfach auf, ist das zyklisch, (also solange Du drückst regelmäßig) oder eher "durch Zufall mehrfach?"
openHAB5.0.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox 9.1.2 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte