Hello everyone,
I have a question or rather a problem with the start levels.
I want to write a rule in JavaScript that responds generically to each individual start level. While testing, I saw that event.raw contains the start level, and I thought that this would allow me to create a rule for all start levels.
I have the following rule:
rules.JSRule({
name: "js SystemStartlevelTrigger",
triggers: [triggers.SystemStartlevelTrigger(40),triggers.SystemStartlevelTrigger(50),triggers.SystemStartlevelTrigger(70),triggers.SystemStartlevelTrigger(80),triggers.SystemStartlevelTrigger(100)],
execute: (event) => {
const devMode = true;
const log = devMode ? console.log : () => { };
const now = time.ZonedDateTime.now();
const timeStamp = now.toInstant().toEpochMilli();
const ruleName = 'js SystemStartlevelTrigger - | '+timeStamp+' | '+event.raw;
log(ruleName + ' start');
log(ruleName + ' end');
},
});
However, I get the following result:
2025-11-10 14:41:39.843 [INFO ] [automation.script.file.startlevel.js] - js SystemStartlevelTrigger - | 1762782099826 | {event=Startlevel '40' reached., startlevel=40} start
2025-11-10 14:41:39.844 [INFO ] [automation.script.file.startlevel.js] - js SystemStartlevelTrigger - | 1762782099826 | {event=Startlevel '40' reached., startlevel=40} end
2025-11-10 14:41:44.176 [INFO ] [automation.script.file.startlevel.js] - js SystemStartlevelTrigger - | 1762782104155 | {b6dfe8f4-1c3a-4978-8d06-ba00b21d9c9e.event=Startlevel '80' reached., b6dfe8f4-1c3a-4978-8d06-ba00b21d9c9e.startlevel=80, event=Startlevel '80' reached., startlevel=80, module=b6dfe8f4-1c3a-4978-8d06-ba00b21d9c9e} start
2025-11-10 14:41:44.178 [INFO ] [automation.script.file.startlevel.js] - js SystemStartlevelTrigger - | 1762782104155 | {b6dfe8f4-1c3a-4978-8d06-ba00b21d9c9e.event=Startlevel '80' reached., b6dfe8f4-1c3a-4978-8d06-ba00b21d9c9e.startlevel=80, event=Startlevel '80' reached., startlevel=80, module=b6dfe8f4-1c3a-4978-8d06-ba00b21d9c9e} end
2025-11-10 14:41:44.203 [INFO ] [automation.script.file.startlevel.js] - js SystemStartlevelTrigger - | 1762782104185 | {424ac18d-7a42-418b-a7f5-e33ee846f489.startlevel=70, event=Startlevel '80' reached., 424ac18d-7a42-418b-a7f5-e33ee846f489.event=Startlevel '80' reached., startlevel=70, module=424ac18d-7a42-418b-a7f5-e33ee846f489} start
2025-11-10 14:41:44.204 [INFO ] [automation.script.file.startlevel.js] - js SystemStartlevelTrigger - | 1762782104185 | {424ac18d-7a42-418b-a7f5-e33ee846f489.startlevel=70, event=Startlevel '80' reached., 424ac18d-7a42-418b-a7f5-e33ee846f489.event=Startlevel '80' reached., startlevel=70, module=424ac18d-7a42-418b-a7f5-e33ee846f489} end
2025-11-10 14:41:44.208 [INFO ] [automation.script.file.startlevel.js] - js SystemStartlevelTrigger - | 1762782104207 | {541bab18-1bfe-4552-b318-b195fa145a7e.startlevel=100, 541bab18-1bfe-4552-b318-b195fa145a7e.event=Startlevel '100' reached., event=Startlevel '100' reached., startlevel=100, module=541bab18-1bfe-4552-b318-b195fa145a7e} start
2025-11-10 14:41:44.209 [INFO ] [automation.script.file.startlevel.js] - js SystemStartlevelTrigger - | 1762782104207 | {541bab18-1bfe-4552-b318-b195fa145a7e.startlevel=100, 541bab18-1bfe-4552-b318-b195fa145a7e.event=Startlevel '100' reached., event=Startlevel '100' reached., startlevel=100, module=541bab18-1bfe-4552-b318-b195fa145a7e} end
This seems wrong to me, or am I thinking about it wrong?
If I write a rule with SystemStartlevelTrigger for every possible level (40, 50, 70, 80, 100) and write the start level statically in the rule, each one is reached in successionā¦
Anyone have any ideas?