Super, it now behaves as expected. Once again thank you!
Crille
Posts
-
[Solved] Local expression in Rule does not evaluate as they used to do -
[Solved] Local expression in Rule does not evaluate as they used to doNo change after restart, files uploaded.
-
[Solved] Local expression in Rule does not evaluate as they used to doEdit: Solved in 25323.
I experience some issues since local expressions changed behavior in some previous build.
I've set up a test rule to verify my suspicions.
Previously this worked, when Reactor uptime changed all local expressions were evaluated but now only timeNowis updated andtriggerNowdoes not change (even though it is dependent ontimeNow), so the Rule never sets.
I can work around the issue bygetEntity(...uptime)intriggerNow, then the expression is evaluated and changes totrueand the rule sets.Log from different test time:
[latest-25321]2025-11-18T14:16:44.026Z <Rule:INFO> TEST - time in expression as trigger (rule-mi4ldhta in Funktioner) started [latest-25321]2025-11-18T14:17:33.345Z <Rule:INFO> TEST - time in expression as trigger (rule-mi4ldhta in Funktioner) starting rule state evaluation; because entity-changed System#reactor_system>system [latest-25321]2025-11-18T14:17:33.345Z <Rule:INFO> Rule#rule-mi4ldhta local triggerNow is a dependency of another variable [latest-25321]2025-11-18T14:17:33.348Z <Rule:INFO> TEST - time in expression as trigger (rule-mi4ldhta in Funktioner) starting rule state evaluation; because entity-changed System#reactor_system>system [latest-25321]2025-11-18T14:17:33.348Z <Rule:INFO> Rule#rule-mi4ldhta local triggerNow is a dependency of another variable [latest-25321]2025-11-18T14:17:33.350Z <Rule:INFO> TEST - time in expression as trigger (rule-mi4ldhta in Funktioner) starting rule state evaluation; because entity-changed System#reactor_system>system [latest-25321]2025-11-18T14:17:33.350Z <Rule:INFO> Rule#rule-mi4ldhta local triggerNow is a dependency of another variable [latest-25321]2025-11-18T14:17:33.354Z <Rule:INFO> TEST - time in expression as trigger (rule-mi4ldhta in Funktioner) starting rule state evaluation; because entity-changed System#reactor_system>system [latest-25321]2025-11-18T14:17:33.355Z <Rule:INFO> Rule#rule-mi4ldhta local triggerNow is a dependency of another variable [latest-25321]2025-11-18T14:17:38.345Z <Rule:INFO> TEST - time in expression as trigger (rule-mi4ldhta in Funktioner) starting rule state evaluation; because timer-trigger Timer#rule-mi4ldhta [latest-25321]2025-11-18T14:17:38.345Z <Rule:INFO> Rule#rule-mi4ldhta local triggerNow is a dependency of another variableIs this the expected behavior?
Bare metal, latest-25321
-
Home Assistant 2025.11.2 and latest-25315Yes, solved. Thank you! Next time I will remember to do a manual backup of HASS before upgrading

-
Home Assistant 2025.11.2 and latest-25315Heads up!
It might be just my system or it might be a good idea to wait for HASSController to bless 2025.11.2 before you update HASS.
@toggledbits can you confirm?[latest-25315]2025-11-17T14:05:05.818Z <HassController:NOTICE> HassController#hass connecting to ws://192.168.1.180:8123/api/websocket [latest-25315]2025-11-17T14:05:05.820Z <HassController:NOTICE> HassController#hass connected, starting protocol [latest-25315]2025-11-17T14:05:05.821Z <HassController:INFO> HassController#hass successful authentication with ws://192.168.1.180:8123; fetching initial data... [latest-25315]2025-11-17T14:05:05.822Z <HassController:INFO> HassController#hass HA reports version "2025.11.2" location Hem timezone Europe/Stockholm state RUNNING safe_mode false [latest-25315]2025-11-17T14:05:05.822Z <HassController:ERR> HassController#hass error while attempting config dump: [TypeError] Cannot read properties of undefined (reading 'tag') [-] [latest-25315]2025-11-17T14:05:05.823Z <HassController:ERR> HassController#hass failed to complete startup: [TypeError] Cannot read properties of undefined (reading 'tag') [-] [latest-25315]2025-11-17T14:05:05.823Z <HassController:CRIT> TypeError: Cannot read properties of undefined (reading 'tag') [-] TypeError: Cannot read properties of undefined (reading 'tag') at /home/homebridge/reactor/server/lib/AlertManager.js:141:144 at Array.findIndex (<anonymous>) at AlertManager.addAlert (/home/homebridge/reactor/server/lib/AlertManager.js:141:114) at /home/homebridge/reactor/server/lib/HassController.js:1464:367 at process.processTicksAndRejections (node:internal/process/task_queues:103:5) [latest-25315]2025-11-17T14:05:05.825Z <HassController:NOTICE> HassController#hass websocket closing, 1000 -
Reactor w/HA 2025.11 error on set_datetime service call setting only timeSounds good, thank you for your work!
-
Reactor w/HA 2025.11 error on set_datetime service call setting only time -
There is an alternative to homebridge-mqttthingJust throwing out a general hint to the people running Homebridge and MQTT.
Homebridge MQTT-Thing hasn't been updated in almost 2 years and it falls behind on compatibility with the development of Homebridge.
I was looking for a replacement and found Homebridge Easy MQTT and I think it's a good replacement for MQTT-Thing. I particularly find Easy MQTT
Value tranformerseasier to to understand and use compared to MQTT-ThingApplyfunction.It took a while to migrate everything but I'm pleased and can recommend.
-
Reactor w/HA 2025.11 error on set_datetime service call setting only time@toggledbits Do you know if this is related to that PR or is it a change they made in 2025.11.1?
[latest-25310]2025-11-11T13:16:24.319Z <HassController:INFO> HassController#hass perform x_hass_input_datetime.set_datetime on Entity#hass>input_datetime_vvb_dag with { "time": "10:45" } [latest-25310]2025-11-11T13:16:24.320Z <HassController:INFO> HassController#hass: sending payload for x_hass_input_datetime.set_datetime on Entity#hass>input_datetime_vvb_dag action: { "type": "call_service", "service_data": { "date": (null), "time": "10:45", "datetime": (null), "timestamp": (null) }, "domain": "input_datetime", "service": "set_datetime", "target": { "entity_id": "input_datetime.vvb_dag" } } [latest-25310]2025-11-11T13:16:24.321Z <HassController:ERR> HassController#hass request 1762866984320<2025-11-11 14:16:24> (call_service) failed: [Error] Not a parseable type for dictionary value @ data['date'] [-] [latest-25310]2025-11-11T13:16:24.321Z <HassController:WARN> HassController#hass action x_hass_input_datetime.set_datetime({ "time": "10:45" }) on Entity#hass>input_datetime_vvb_dag failed! [latest-25310]2025-11-11T13:16:24.321Z <HassController:INFO> Service call payload: {"type":"call_service","service_data":{"date":null,"time":"10:45","datetime":null,"timestamp":null},"domain":"input_datetime","service":"set_datetime","target":{"entity_id":"input_datetime.vvb_dag"},"id":1762866984320} [latest-25310]2025-11-11T13:16:24.322Z <HassController:INFO> Service data: {"fields":{"date":{"example":"\"2019-04-20\"","selector":{"text":{"multiline":false,"multiple":false}}},"time":{"example":"\"05:04:20\"","selector":{"time":{}}},"datetime":{"example":"\"2019-04-20 05:04:20\"","selector":{"text":{"multiline":false,"multiple":false}}},"timestamp":{"selector":{"number":{"min":0,"max":9223372036854776000,"mode":"box","step":1}}}},"target":{"entity":[{"domain":["input_datetime"]}]}} [latest-25310]2025-11-11T13:16:24.322Z <Engine:ERR> Engine#1 reaction rule-mgb8pfhs:S step 0 perform x_hass_input_datetime.set_datetime failed: [Error] Not a parseable type for dictionary value @ data['date'] [-] [latest-25310]2025-11-11T13:16:24.322Z <Engine:INFO> Engine#1 action args: { "time": "10:45" } [latest-25310]2025-11-11T13:16:24.322Z <Engine:INFO> Resuming reaction Sätt Schema VVB i Home Assistant<AKTIV> (rule-mgb8pfhs:S) from step 1 [latest-25310]2025-11-11T13:16:24.323Z <HassController:INFO> HassController#hass perform x_hass_input_datetime.set_datetime on Entity#hass>input_datetime_vvb_natt with { "time": "03:00", "timestamp": 0 } [latest-25310]2025-11-11T13:16:24.323Z <HassController:INFO> HassController#hass: sending payload for x_hass_input_datetime.set_datetime on Entity#hass>input_datetime_vvb_natt action: { "type": "call_service", "service_data": { "date": (null), "time": "03:00", "datetime": (null), "timestamp": 0 }, "domain": "input_datetime", "service": "set_datetime", "target": { "entity_id": "input_datetime.vvb_natt" } } [latest-25310]2025-11-11T13:16:24.324Z <HassController:ERR> HassController#hass request 1762866984323<2025-11-11 14:16:24> (call_service) failed: [Error] Not a parseable type for dictionary value @ data['date'] [-] [latest-25310]2025-11-11T13:16:24.324Z <HassController:WARN> HassController#hass action x_hass_input_datetime.set_datetime({ "time": "03:00", "timestamp": 0 }) on Entity#hass>input_datetime_vvb_natt failed! [latest-25310]2025-11-11T13:16:24.324Z <HassController:INFO> Service call payload: {"type":"call_service","service_data":{"date":null,"time":"03:00","datetime":null,"timestamp":0},"domain":"input_datetime","service":"set_datetime","target":{"entity_id":"input_datetime.vvb_natt"},"id":1762866984323} [latest-25310]2025-11-11T13:16:24.324Z <HassController:INFO> Service data: {"fields":{"date":{"example":"\"2019-04-20\"","selector":{"text":{"multiline":false,"multiple":false}}},"time":{"example":"\"05:04:20\"","selector":{"time":{}}},"datetime":{"example":"\"2019-04-20 05:04:20\"","selector":{"text":{"multiline":false,"multiple":false}}},"timestamp":{"selector":{"number":{"min":0,"max":9223372036854776000,"mode":"box","step":1}}}},"target":{"entity":[{"domain":["input_datetime"]}]}} [latest-25310]2025-11-11T13:16:24.324Z <Engine:ERR> Engine#1 reaction rule-mgb8pfhs:S step 1 perform x_hass_input_datetime.set_datetime failed: [Error] Not a parseable type for dictionary value @ data['date'] [-] [latest-25310]2025-11-11T13:16:24.324Z <Engine:INFO> Engine#1 action args: { "time": "03:00", "timestamp": 0 } [latest-25310]2025-11-11T13:16:24.325Z <Engine:INFO> Resuming reaction Sätt Schema VVB i Home Assistant<AKTIV> (rule-mgb8pfhs:S) from step 2 [latest-25310]2025-11-11T13:16:24.325Z <Engine:INFO> Sätt Schema VVB i Home Assistant<AKTIV> all actions completed. -
[Solved] alarm() in global expression throws error in log.Yes sir, your magic has worked for sure!
No more errors, thank you very much. -
[Solved] alarm() in global expression throws error in log.New variable, another entity but same error with
alarm()
There must be something off in my system then.[latest-25310]2025-11-07T17:14:14.037Z <Engine:NOTICE> Engine#1 creating global expression neverusedbeforevariable [latest-25310]2025-11-07T17:14:14.039Z <Engine:CRIT> Engine#1 alarm() scheduled neverusedbeforevariable tick for 1762535669039<2025-11-07 18:14:29> = now 1762535654039<2025-11-07 18:14:14> + delay 15000 [latest-25310]2025-11-07T17:14:22.195Z <Engine:ERR> Engine#1: error evaluating expression neverusedbeforevariable: [ReferenceError] alarm() can only be used in global expressions [-] [latest-25310]2025-11-07T17:14:22.195Z <Engine:ERR> Engine#1: expression: alarm(15), getEntity( "vera>device_56" ).attributes.x_vera_svc_micasaverde_com_EnergyMetering1.momentary_active_import [latest-25310]2025-11-07T17:14:22.195Z <Engine:CRIT> ReferenceError: alarm() can only be used in global expressions [-] ReferenceError: alarm() can only be used in global expressions at /home/homebridge/reactor/server/lib/Engine.js:1455:23 at _run (/home/homebridge/reactor/common/lexp.js:1704:34) at /home/homebridge/reactor/common/lexp.js:1426:29 at Array.forEach (<anonymous>) at _run (/home/homebridge/reactor/common/lexp.js:1425:28) at Object.run (/home/homebridge/reactor/common/lexp.js:1855:24) at Engine._eval_expr (/home/homebridge/reactor/server/lib/Engine.js:1170:141) at Engine._expr_dependency (/home/homebridge/reactor/server/lib/Engine.js:1555:82) at /home/homebridge/reactor/server/lib/MessageBus.js:114:195 at Array.forEach (<anonymous>) [latest-25310]2025-11-07T17:14:27.526Z <Rule:INFO> Notifiering - Auto off laddning poolrobot (rule-md7japbd in Notifieringar) starting rule state evaluation; because entity-changed Switch#mosquitto-mqtt>laddning_poolrobot [latest-25310]2025-11-07T17:14:29.039Z <Engine:CRIT> Engine#1 neverusedbeforevariable alarm() tick [latest-25310]2025-11-07T17:14:29.039Z <Engine:CRIT> Engine#1 alarm() scheduled neverusedbeforevariable tick for 1762535684039<2025-11-07 18:14:44> = now 1762535669039<2025-11-07 18:14:29> + delay 15000 [latest-25310]2025-11-07T17:14:30.681Z <Engine:ERR> Engine#1: error evaluating expression neverusedbeforevariable: [ReferenceError] alarm() can only be used in global expressions [-] [latest-25310]2025-11-07T17:14:30.681Z <Engine:ERR> Engine#1: expression: alarm(15), getEntity( "vera>device_56" ).attributes.x_vera_svc_micasaverde_com_EnergyMetering1.momentary_active_import [latest-25310]2025-11-07T17:14:30.681Z <Engine:CRIT> ReferenceError: alarm() can only be used in global expressions [-] ReferenceError: alarm() can only be used in global expressions at /home/homebridge/reactor/server/lib/Engine.js:1455:23 at _run (/home/homebridge/reactor/common/lexp.js:1704:34) at /home/homebridge/reactor/common/lexp.js:1426:29 at Array.forEach (<anonymous>) at _run (/home/homebridge/reactor/common/lexp.js:1425:28) at Object.run (/home/homebridge/reactor/common/lexp.js:1855:24) at Engine._eval_expr (/home/homebridge/reactor/server/lib/Engine.js:1170:141) at Engine._expr_dependency (/home/homebridge/reactor/server/lib/Engine.js:1555:82) at /home/homebridge/reactor/server/lib/MessageBus.js:114:195 at Array.forEach (<anonymous>) -
[Solved] alarm() in global expression throws error in log.Sorry but no
-
[Solved] alarm() in global expression throws error in log.Nowhere, strictly to test the function before I put it in production
-
[Solved] alarm() in global expression throws error in log.Oops, sorry. There's a lot going on with other stuff then this is logged.
[latest-25310]2025-11-07T16:16:51.930Z <Engine:INFO> Engine#1 global expression poolHeat old value=false [latest-25310]2025-11-07T16:16:51.930Z <Engine:INFO> Engine#1 evaluation context { "__lvar": { "MAXINT": 9007199254740991, "MININT": -9007199254740991, "MAXFLOAT": 1.7976931348623157e+308, "MINFLOAT": 5e-324, "testHere": "test", "chargeAmps": 16, "poolHeat": false, "poolHeatTrigger": "auto", "Växthuset": { "LYWSD03aa6def": { "x_mqtt_device": { "online": true, "templates": Array(1) ["tasmota_sensor_lyw"] }, "temperature_sensor": { "value": 7.3, "units": "C" }, "humidity_sensor": { "value": 96, "units": "%" }, "battery_power": { "level": 0.75, "since": 1762532173549, "alert_level": 0.5 }, "reactor_entity": { } }, "Flora1": { "x_mqtt_device": { "online": true, "templates": Array(1) ["my_tasmota_sensor_flora"] }, "temperature_sensor": { "value": 10.3, "units": "C" }, "light_sensor": { "value": 0, "units": "lux" }, "humidity_sensor": { "value": 0, "units": "%" }, "value_sensor": { "value": 0, "units": (null) }, "reactor_entity": { } }, "Flora1_Lux": 0.0001, "Flora2": { "x_mqtt_device": { "online": true, "templates": Array(1) ["my_tasmota_sensor_flora"] }, "temperature_sensor": { "value": 8.4, "units": "C" }, "light_sensor": { "value": 618, "units": "lux" }, "humidity_sensor": { "value": 0, "units": "%" }, "value_sensor": { "value": 0, "units": (null) }, "reactor_entity": { } }, "Flora2_Lux": 618 }, "Medeltemp": 8.67, "Luftfuktighet": 1.1162790697674418, "EzloDevicesNotResponding": Array(0) [], "prevEzloDevicesNotResponding": Array(0) [], "VeraDevicesNotResponding": Array(0) [], "openLuupWasDown": "No", "Charging": false, "ReactorRestarted": false, "HumOutdoor": 86, "TempOutdoor": 8.82, "Självförsörjande": 0, "Elpris": 178.405, "restartCameraRTSP": false, "lovVecka": false, "VVBsellingHigh": false, "HassElpriser": { "buy_sek": 1.86, "sell_sek": 1.53 }, "chargeNow": false, "alertBLE": true, "ElpriserMedelMedian": "Idag:86/87, Imorgon:78/65", "ChargingPaused": false, "alertElmatare": false, "functions": "Global functions", "functionsDEV": "Global functions", "alarmTest": "1.123" }, "__depth": 0, "__tag": "$global", "__func": { "_compare": [Function (anonymous) (?,?,?)], "fileRead": [Function (anonymous) (?,?,?)], "fileWrite": [Function (anonymous) (?,?,?,?)], "fileExists": [Function (anonymous) (?,?)], "dumpVars": [Function (anonymous) (?)], "strftime": [Function (anonymous) (?)], "format": [Function (anonymous) (?)], "geodist": [Function (anonymous) (?)], "_assign": [Function (anonymous) (?,?,?)], "getEntity": [Function _0x498020 (?,?)], "entity": [Function _0x498020 (?,?)], "$": [Function _0x498020 (?,?)], "matchEntities": [Function (anonymous) (?,?)], "groupMembers": [Function (anonymous) (?,?)], "performAction": [Function _0x498020 (?,?,?,?)], "perform": [Function _0x498020 (?,?,?,?)], "getRule": [Function (anonymous) (?,?)], "isRuleSet": [Function (anonymous) (?,?)], "isRuleEnabled": [Function (anonymous) (?,?)], "alarm": [Function (anonymous) (?)], "getPrices": [Function (anonymous) (?)], "getSlots": [Function (anonymous) (?)], "cheapestHours": [Function (anonymous) (?)], "VVBdayRange": [Function (anonymous) (?)], "getChargingTime": [Function (anonymous) (?)], "getPricesOLD": [Function (anonymous) (?)], "SlotsOLD": [Function (anonymous) (?)], "cheapestHoursOLD": [Function (anonymous) (?)], "getChargingTimeOLD": [Function (anonymous) (?)] }, "__global": { "__lvar": (seen=.__lvar), "__depth": 0, "__tag": "$global", "__func": (seen=.__func), "__global": (seen=.__global), "__alarmhandle": { "alarmTest": Timer(Timer#alarm:alarmTest) }, "__suppress_dependencies": true, "__tree": Array(1) ["poolHeat"] }, "__alarmhandle": (seen=.__global.__alarmhandle), "__suppress_dependencies": true, "__tree": (seen=.__global.__tree) } [latest-25310]2025-11-07T16:16:51.930Z <Engine:INFO> Engine#1 expr poolHeat result changed=false, was false now false [latest-25310]2025-11-07T16:16:51.932Z <Engine:INFO> Engine#1 evaluating global alarmTest expression alarm(0), alarm(15), getEntity( "hass>sensor_momentary_active_import" ).attributes.string_sensor.value source global [latest-25310]2025-11-07T16:16:51.932Z <Engine:INFO> Engine#1 global expression alarmTest old value="1.123" [latest-25310]2025-11-07T16:16:51.932Z <Engine:INFO> Engine#1 evaluation context { "__lvar": { "MAXINT": 9007199254740991, "MININT": -9007199254740991, "MAXFLOAT": 1.7976931348623157e+308, "MINFLOAT": 5e-324, "testHere": "test", "chargeAmps": 16, "poolHeat": false, "poolHeatTrigger": "auto", "Växthuset": { "LYWSD03aa6def": { "x_mqtt_device": { "online": true, "templates": Array(1) ["tasmota_sensor_lyw"] }, "temperature_sensor": { "value": 7.3, "units": "C" }, "humidity_sensor": { "value": 96, "units": "%" }, "battery_power": { "level": 0.75, "since": 1762532173549, "alert_level": 0.5 }, "reactor_entity": { } }, "Flora1": { "x_mqtt_device": { "online": true, "templates": Array(1) ["my_tasmota_sensor_flora"] }, "temperature_sensor": { "value": 10.3, "units": "C" }, "light_sensor": { "value": 0, "units": "lux" }, "humidity_sensor": { "value": 0, "units": "%" }, "value_sensor": { "value": 0, "units": (null) }, "reactor_entity": { } }, "Flora1_Lux": 0.0001, "Flora2": { "x_mqtt_device": { "online": true, "templates": Array(1) ["my_tasmota_sensor_flora"] }, "temperature_sensor": { "value": 8.4, "units": "C" }, "light_sensor": { "value": 618, "units": "lux" }, "humidity_sensor": { "value": 0, "units": "%" }, "value_sensor": { "value": 0, "units": (null) }, "reactor_entity": { } }, "Flora2_Lux": 618 }, "Medeltemp": 8.67, "Luftfuktighet": 1.1162790697674418, "EzloDevicesNotResponding": Array(0) [], "prevEzloDevicesNotResponding": Array(0) [], "VeraDevicesNotResponding": Array(0) [], "openLuupWasDown": "No", "Charging": false, "ReactorRestarted": false, "HumOutdoor": 86, "TempOutdoor": 8.82, "Självförsörjande": 0, "Elpris": 178.405, "restartCameraRTSP": false, "lovVecka": false, "VVBsellingHigh": false, "HassElpriser": { "buy_sek": 1.86, "sell_sek": 1.53 }, "chargeNow": false, "alertBLE": true, "ElpriserMedelMedian": "Idag:86/87, Imorgon:78/65", "ChargingPaused": false, "alertElmatare": false, "functions": "Global functions", "functionsDEV": "Global functions", "alarmTest": "1.123" }, "__depth": 0, "__tag": "$global", "__func": { "_compare": [Function (anonymous) (?,?,?)], "fileRead": [Function (anonymous) (?,?,?)], "fileWrite": [Function (anonymous) (?,?,?,?)], "fileExists": [Function (anonymous) (?,?)], "dumpVars": [Function (anonymous) (?)], "strftime": [Function (anonymous) (?)], "format": [Function (anonymous) (?)], "geodist": [Function (anonymous) (?)], "_assign": [Function (anonymous) (?,?,?)], "getEntity": [Function _0x498020 (?,?)], "entity": [Function _0x498020 (?,?)], "$": [Function _0x498020 (?,?)], "matchEntities": [Function (anonymous) (?,?)], "groupMembers": [Function (anonymous) (?,?)], "performAction": [Function _0x498020 (?,?,?,?)], "perform": [Function _0x498020 (?,?,?,?)], "getRule": [Function (anonymous) (?,?)], "isRuleSet": [Function (anonymous) (?,?)], "isRuleEnabled": [Function (anonymous) (?,?)], "alarm": [Function (anonymous) (?)], "getPrices": [Function (anonymous) (?)], "getSlots": [Function (anonymous) (?)], "cheapestHours": [Function (anonymous) (?)], "VVBdayRange": [Function (anonymous) (?)], "getChargingTime": [Function (anonymous) (?)], "getPricesOLD": [Function (anonymous) (?)], "SlotsOLD": [Function (anonymous) (?)], "cheapestHoursOLD": [Function (anonymous) (?)], "getChargingTimeOLD": [Function (anonymous) (?)] }, "__global": { "__lvar": (seen=.__lvar), "__depth": 0, "__tag": "$global", "__func": (seen=.__func), "__global": (seen=.__global), "__alarmhandle": { "alarmTest": Timer(Timer#alarm:alarmTest) }, "__suppress_dependencies": true, "__tree": Array(1) ["alarmTest"] }, "__alarmhandle": (seen=.__global.__alarmhandle), "__suppress_dependencies": true, "__tree": (seen=.__global.__tree) } [latest-25310]2025-11-07T16:16:51.932Z <Engine:ERR> Engine#1: error evaluating expression alarmTest: [ReferenceError] alarm() can only be used in global expressions [-] [latest-25310]2025-11-07T16:16:51.933Z <Engine:ERR> Engine#1: expression: alarm(0), alarm(15), getEntity( "hass>sensor_momentary_active_import" ).attributes.string_sensor.value [latest-25310]2025-11-07T16:16:51.945Z <Engine:INFO> Engine#1: path alarmTest->alarmTest [latest-25310]2025-11-07T16:16:51.945Z <Engine:CRIT> ReferenceError: alarm() can only be used in global expressions [-] ReferenceError: alarm() can only be used in global expressions at /home/homebridge/reactor/server/lib/Engine.js:1455:23 at _run (/home/homebridge/reactor/common/lexp.js:1704:34) at /home/homebridge/reactor/common/lexp.js:1426:29 at Array.forEach (<anonymous>) at _run (/home/homebridge/reactor/common/lexp.js:1425:28) at Object.run (/home/homebridge/reactor/common/lexp.js:1855:24) at Engine._eval_expr (/home/homebridge/reactor/server/lib/Engine.js:1170:141) at Engine._expr_dependency (/home/homebridge/reactor/server/lib/Engine.js:1555:82) at /home/homebridge/reactor/server/lib/MessageBus.js:114:195 at Array.forEach (<anonymous>) [latest-25310]2025-11-07T16:16:51.947Z <Engine:INFO> Engine#1 expr alarmTest result changed=true, was "1.123" now (null) [latest-25310]2025-11-07T16:16:51.948Z <Engine:INFO> Engine#1 notify() expression state change GlobalExpression#alarmTest [latest-25310]2025-11-07T16:16:51.948Z <Engine:INFO> Engine#1 notify() expression state change GlobalExpression#alarmTest [latest-25310]2025-11-07T16:16:51.949Z <Engine:INFO> Engine#1 var alarmTest changed, evaluating dependents { } [latest-25310]2025-11-07T16:16:51.949Z <Engine:INFO> Engine#1 update dependencies for alarmTest, which are: Array(0) [] [latest-25310]2025-11-07T16:16:51.959Z <Engine:INFO> Engine#1 evaluating global chargeAmps expression do -
[Solved] alarm() in global expression throws error in log.[latest-25310]2025-11-07T16:16:41.926Z <Engine:INFO> Engine#1 expr alertElmatare result changed=false, was false now false [latest-25310]2025-11-07T16:16:41.926Z <Engine:INFO> Engine#1 evaluating global poolHeat expression do selling = getEntity( "virtual>time_series_selling" ).attributes.power_sensor.value, buying = getEntity( "mosquitto-mqtt>smartmeter" ).attributes.x_momentary_active_import.value, rule = isRuleSet("rule-l3wyah83"), case when selling >= 1.8 : bool(true) when buying < 0.8 and rule : bool(true) when poolHeatTrigger == "on" : bool(true) else bool(false) end done source global [latest-25310]2025-11-07T16:16:41.926Z <Engine:INFO> Engine#1 global expression poolHeat old value=false [latest-25310]2025-11-07T16:16:41.926Z <Engine:INFO> Engine#1 evaluation context { "__lvar": { "MAXINT": 9007199254740991, "MININT": -9007199254740991, "MAXFLOAT": 1.7976931348623157e+308, "MINFLOAT": 5e-324, "testHere": "test", "chargeAmps": 16, "poolHeat": false, "poolHeatTrigger": "auto", "Växthuset": { "LYWSD03aa6def": { "x_mqtt_device": { "online": true, "templates": Array(1) ["tasmota_sensor_lyw"] }, "temperature_sensor": { "value": 7.3, "units": "C" }, "humidity_sensor": { "value": 96, "units": "%" }, "battery_power": { "level": 0.75, "since": 1762532173549, "alert_level": 0.5 }, "reactor_entity": { } }, "Flora1": { "x_mqtt_device": { "online": true, "templates": Array(1) ["my_tasmota_sensor_flora"] }, "temperature_sensor": { "value": 10.3, "units": "C" }, "light_sensor": { "value": 0, "units": "lux" }, "humidity_sensor": { "value": 0, "units": "%" }, "value_sensor": { "value": 0, "units": (null) }, "reactor_entity": { } }, "Flora1_Lux": 0.0001, "Flora2": { "x_mqtt_device": { "online": true, "templates": Array(1) ["my_tasmota_sensor_flora"] }, "temperature_sensor": { "value": 8.4, "units": "C" }, "light_sensor": { "value": 618, "units": "lux" }, "humidity_sensor": { "value": 0, "units": "%" }, "value_sensor": { "value": 0, "units": (null) }, "reactor_entity": { } }, "Flora2_Lux": 618 }, "Medeltemp": 8.67, "Luftfuktighet": 1.1162790697674418, "EzloDevicesNotResponding": Array(0) [], "prevEzloDevicesNotResponding": Array(0) [], "VeraDevicesNotResponding": Array(0) [], "openLuupWasDown": "No", "Charging": false, "ReactorRestarted": false, "HumOutdoor": 86, "TempOutdoor": 8.82, "Självförsörjande": 0, "Elpris": 178.405, "restartCameraRTSP": false, "lovVecka": false, "VVBsellingHigh": false, "HassElpriser": { "buy_sek": 1.86, "sell_sek": 1.53 }, "chargeNow": false, "alertBLE": true, "ElpriserMedelMedian": "Idag:86/87, Imorgon:78/65", "ChargingPaused": false, "alertElmatare": false, "functions": "Global functions", "functionsDEV": "Global functions", "alarmTest": "hello" }, "__depth": 0, "__tag": "$global", "__func": { "_compare": [Function (anonymous) (?,?,?)], "fileRead": [Function (anonymous) (?,?,?)], "fileWrite": [Function (anonymous) (?,?,?,?)], "fileExists": [Function (anonymous) (?,?)], "dumpVars": [Function (anonymous) (?)], "strftime": [Function (anonymous) (?)], "format": [Function (anonymous) (?)], "geodist": [Function (anonymous) (?)], "_assign": [Function (anonymous) (?,?,?)], "getEntity": [Function _0x498020 (?,?)], "entity": [Function _0x498020 (?,?)], "$": [Function _0x498020 (?,?)], "matchEntities": [Function (anonymous) (?,?)], "groupMembers": [Function (anonymous) (?,?)], "performAction": [Function _0x498020 (?,?,?,?)], "perform": [Function _0x498020 (?,?,?,?)], "getRule": [Function (anonymous) (?,?)], "isRuleSet": [Function (anonymous) (?,?)], "isRuleEnabled": [Function (anonymous) (?,?)], "alarm": [Function (anonymous) (?)], "getPrices": [Function (anonymous) (?)], "getSlots": [Function (anonymous) (?)], "cheapestHours": [Function (anonymous) (?)], "VVBdayRange": [Function (anonymous) (?)], "getChargingTime": [Function (anonymous) (?)], "getPricesOLD": [Function (anonymous) (?)], "SlotsOLD": [Function (anonymous) (?)], "cheapestHoursOLD": [Function (anonymous) (?)], "getChargingTimeOLD": [Function (anonymous) (?)] }, "__global": { "__lvar": (seen=.__lvar), "__depth": 0, "__tag": "$global", "__func": (seen=.__func), "__global": (seen=.__global), "__tree": Array(1) ["poolHeat"], "__suppress_dependencies": true }, "__tree": (seen=.__global.__tree), "__suppress_dependencies": true } [latest-25310]2025-11-07T16:16:41.926Z <Engine:INFO> Engine#1 expr poolHeat result changed=false, was false now false [latest-25310]2025-11-07T16:16:42.411Z <Engine:INFO> Engine#1 evaluating global Självförsörjande expression int(getEntity( "vera>device_56" ).attributes.x_vera_svc_micasaverde_com_GenericSensor1.self_sufficient) source global [latest-25310]2025-11-07T16:16:42.412Z <Engine:INFO> Engine#1 global expression Självförsörjande old value=0 [latest-25310]2025-11-07T16:16:42.412Z <Engine:INFO> Engine#1 evaluation context { "__lvar": { "MAXINT": 9007199254740991, "MININT": -9007199254740991, "MAXFLOAT": 1.7976931348623157e+308, "MINFLOAT": 5e-324, "testHere": "test", "chargeAmps": 16, "poolHeat": false, "poolHeatTrigger": "auto", "Växthuset": { "LYWSD03aa6def": { "x_mqtt_device": { "online": true, "templates": Array(1) ["tasmota_sensor_lyw"] }, "temperature_sensor": { "value": 7.3, "units": "C" }, "humidity_sensor": { "value": 96, "units": "%" }, "battery_power": { "level": 0.75, "since": 1762532173549, "alert_level": 0.5 }, "reactor_entity": { } }, "Flora1": { "x_mqtt_device": { "online": true, "templates": Array(1) ["my_tasmota_sensor_flora"] }, "temperature_sensor": { "value": 10.3, "units": "C" }, "light_sensor": { "value": 0, "units": "lux" }, "humidity_sensor": { "value": 0, "units": "%" }, "value_sensor": { "value": 0, "units": (null) }, "reactor_entity": { } }, "Flora1_Lux": 0.0001, "Flora2": { "x_mqtt_device": { "online": true, "templates": Array(1) ["my_tasmota_sensor_flora"] }, "temperature_sensor": { "value": 8.4, "units": "C" }, "light_sensor": { "value": 618, "units": "lux" }, "humidity_sensor": { "value": 0, "units": "%" }, "value_sensor": { "value": 0, "units": (null) }, "reactor_entity": { } }, "Flora2_Lux": 618 }, "Medeltemp": 8.67, "Luftfuktighet": 1.1162790697674418, "EzloDevicesNotResponding": Array(0) [], "prevEzloDevicesNotResponding": Array(0) [], "VeraDevicesNotResponding": Array(0) [], "openLuupWasDown": "No", "Charging": false, "ReactorRestarted": false, "HumOutdoor": 86, "TempOutdoor": 8.82, "Självförsörjande": 0, "Elpris": 178.405, "restartCameraRTSP": false, "lovVecka": false, "VVBsellingHigh": false, "HassElpriser": { "buy_sek": 1.86, "sell_sek": 1.53 }, "chargeNow": false, "alertBLE": true, "ElpriserMedelMedian": "Idag:86/87, Imorgon:78/65", "ChargingPaused": false, "alertElmatare": false, "functions": "Global functions", "functionsDEV": "Global functions", "alarmTest": "hello" }, "__depth": 0, "__tag": "$global", "__func": { "_compare": [Function (anonymous) (?,?,?)], "fileRead": [Function (anonymous) (?,?,?)], "fileWrite": [Function (anonymous) (?,?,?,?)], "fileExists": [Function (anonymous) (?,?)], "dumpVars": [Function (anonymous) (?)], "strftime": [Function (anonymous) (?)], "format": [Function (anonymous) (?)], "geodist": [Function (anonymous) (?)], "_assign": [Function (anonymous) (?,?,?)], "getEntity": [Function _0x498020 (?,?)], "entity": [Function _0x498020 (?,?)], "$": [Function _0x498020 (?,?)], "matchEntities": [Function (anonymous) (?,?)], "groupMembers": [Function (anonymous) (?,?)], "performAction": [Function _0x498020 (?,?,?,?)], "perform": [Function _0x498020 (?,?,?,?)], "getRule": [Function (anonymous) (?,?)], "isRuleSet": [Function (anonymous) (?,?)], "isRuleEnabled": [Function (anonymous) (?,?)], "alarm": [Function (anonymous) (?)], "getPrices": [Function (anonymous) (?)], "getSlots": [Function (anonymous) (?)], "cheapestHours": [Function (anonymous) (?)], "VVBdayRange": [Function (anonymous) (?)], "getChargingTime": [Function (anonymous) (?)], "getPricesOLD": [Function (anonymous) (?)], "SlotsOLD": [Function (anonymous) (?)], "cheapestHoursOLD": [Function (anonymous) (?)], "getChargingTimeOLD": [Function (anonymous) (?)] }, "__global": { "__lvar": (seen=.__lvar), "__depth": 0, "__tag": "$global", "__func": (seen=.__func), "__global": (seen=.__global), "__tree": Array(1) ["Självförsörjande"], "__suppress_dependencies": true }, "__tree": (seen=.__global.__tree), "__suppress_dependencies": true } [latest-25310]2025-11-07T16:16:42.412Z <Engine:INFO> Engine#1 expr Självförsörjande result changed=false, was 0 now 0 [latest-25310]2025-11-07T16:16:47.368Z <Engine:NOTICE> Engine#1 expression alarmTest has changed [latest-25310]2025-11-07T16:16:47.369Z <Engine:INFO> Engine#1 _compile_global_expr alarmTest [latest-25310]2025-11-07T16:16:47.369Z <Engine:INFO> Engine#1 global expression alarmTest refers to: Array(0) [] [latest-25310]2025-11-07T16:16:47.369Z <Engine:INFO> Engine#1 evaluating global alarmTest expression alarm(0), alarm(15), getEntity( "hass>sensor_momentary_active_import" ).attributes.string_sensor.value source global [latest-25310]2025-11-07T16:16:47.369Z <Engine:INFO> Engine#1 global expression alarmTest old value=hello [latest-25310]2025-11-07T16:16:47.369Z <Engine:INFO> Engine#1 evaluation context { "__lvar": { "MAXINT": 9007199254740991, "MININT": -9007199254740991, "MAXFLOAT": 1.7976931348623157e+308, "MINFLOAT": 5e-324, "testHere": "test", "chargeAmps": 16, "poolHeat": false, "poolHeatTrigger": "auto", "Växthuset": { "LYWSD03aa6def": { "x_mqtt_device": { "online": true, "templates": Array(1) ["tasmota_sensor_lyw"] }, "temperature_sensor": { "value": 7.3, "units": "C" }, "humidity_sensor": { "value": 96, "units": "%" }, "battery_power": { "level": 0.75, "since": 1762532173549, "alert_level": 0.5 }, "reactor_entity": { } }, "Flora1": { "x_mqtt_device": { "online": true, "templates": Array(1) ["my_tasmota_sensor_flora"] }, "temperature_sensor": { "value": 10.3, "units": "C" }, "light_sensor": { "value": 0, "units": "lux" }, "humidity_sensor": { "value": 0, "units": "%" }, "value_sensor": { "value": 0, "units": (null) }, "reactor_entity": { } }, "Flora1_Lux": 0.0001, "Flora2": { "x_mqtt_device": { "online": true, "templates": Array(1) ["my_tasmota_sensor_flora"] }, "temperature_sensor": { "value": 8.4, "units": "C" }, "light_sensor": { "value": 618, "units": "lux" }, "humidity_sensor": { "value": 0, "units": "%" }, "value_sensor": { "value": 0, "units": (null) }, "reactor_entity": { } }, "Flora2_Lux": 618 }, "Medeltemp": 8.67, "Luftfuktighet": 1.1162790697674418, "EzloDevicesNotResponding": Array(0) [], "prevEzloDevicesNotResponding": Array(0) [], "VeraDevicesNotResponding": Array(0) [], "openLuupWasDown": "No", "Charging": false, "ReactorRestarted": false, "HumOutdoor": 86, "TempOutdoor": 8.82, "Självförsörjande": 0, "Elpris": 178.405, "restartCameraRTSP": false, "lovVecka": false, "VVBsellingHigh": false, "HassElpriser": { "buy_sek": 1.86, "sell_sek": 1.53 }, "chargeNow": false, "alertBLE": true, "ElpriserMedelMedian": "Idag:86/87, Imorgon:78/65", "ChargingPaused": false, "alertElmatare": false, "functions": "Global functions", "functionsDEV": "Global functions", "alarmTest": "hello" }, "__depth": 0, "__tag": "$global", "__func": { "_compare": [Function (anonymous) (?,?,?)], "fileRead": [Function (anonymous) (?,?,?)], "fileWrite": [Function (anonymous) (?,?,?,?)], "fileExists": [Function (anonymous) (?,?)], "dumpVars": [Function (anonymous) (?)], "strftime": [Function (anonymous) (?)], "format": [Function (anonymous) (?)], "geodist": [Function (anonymous) (?)], "_assign": [Function (anonymous) (?,?,?)], "getEntity": [Function _0x498020 (?,?)], "entity": [Function _0x498020 (?,?)], "$": [Function _0x498020 (?,?)], "matchEntities": [Function (anonymous) (?,?)], "groupMembers": [Function (anonymous) (?,?)], "performAction": [Function _0x498020 (?,?,?,?)], "perform": [Function _0x498020 (?,?,?,?)], "getRule": [Function (anonymous) (?,?)], "isRuleSet": [Function (anonymous) (?,?)], "isRuleEnabled": [Function (anonymous) (?,?)], "alarm": [Function (anonymous) (?)], "getPrices": [Function (anonymous) (?)], "getSlots": [Function (anonymous) (?)], "cheapestHours": [Function (anonymous) (?)], "VVBdayRange": [Function (anonymous) (?)], "getChargingTime": [Function (anonymous) (?)], "getPricesOLD": [Function (anonymous) (?)], "SlotsOLD": [Function (anonymous) (?)], "cheapestHoursOLD": [Function (anonymous) (?)], "getChargingTimeOLD": [Function (anonymous) (?)] }, "__global": { "__lvar": (seen=.__lvar), "__depth": 0, "__tag": "$global", "__func": (seen=.__func), "__global": (seen=.__global), "__tree": Array(1) ["alarmTest"] }, "__tree": (seen=.__global.__tree) } [latest-25310]2025-11-07T16:16:47.371Z <Engine:CRIT> Engine#1 alarm(0) -- cancelling alarmTest timer [latest-25310]2025-11-07T16:16:47.371Z <Engine:CRIT> Engine#1 alarm() scheduled alarmTest tick for 1762532222371<2025-11-07 17:17:02> = now 1762532207371<2025-11-07 17:16:47> + delay 15000 [latest-25310]2025-11-07T16:16:47.371Z <Engine:INFO> Engine#1 getEntity evaluating global alarmTest with ValueSensor#hass>sensor_momentary_active_import dependency [latest-25310]2025-11-07T16:16:47.371Z <Engine:INFO> Engine#1 expr alarmTest result changed=true, was hello now "1.123" [latest-25310]2025-11-07T16:16:47.372Z <Engine:INFO> Engine#1 notify() expression state change GlobalExpression#alarmTest [latest-25310]2025-11-07T16:16:47.373Z <Engine:INFO> Engine#1 var alarmTest changed, evaluating dependents { } [latest-25310]2025-11-07T16:16:47.373Z <Engine:INFO> Engine#1 update dependencies for alarmTest, which are: Array(0) [] [latest-25310]2025-11-07T16:16:47.373Z <Engine:INFO> Engine#1 expr_tree is now { testHere: {}, chargeAmps: {}, poolHeat: {}, poolHeatTrigger: { poolHeat: {} }, 'Växthuset': {}, Medeltemp: {}, Luftfuktighet: {}, EzloDevicesNotResponding: {}, prevEzloDevicesNotResponding: {}, VeraDevicesNotResponding: {}, openLuupWasDown: {}, Charging: {}, ReactorRestarted: {}, HumOutdoor: {}, TempOutdoor: {}, 'Självförsörjande': {}, Elpris: {}, restartCameraRTSP: {}, lovVecka: {}, VVBsellingHigh: {}, HassElpriser: {}, chargeNow: {}, alertBLE: {}, ElpriserMedelMedian: {}, ChargingPaused: {}, alertElmatare: {}, functions: {}, functionsDEV: {}, alarmTest: {} } [latest-25310]2025-11-07T16:16:51.916Z <Engine:INFO> Engine#1 evaluating global chargeAmps expression doMore?
-
[Solved] alarm() in global expression throws error in log.Unfortunately that's long gone by testing level 5 but before that the expression was the simple string "hello" so there were only rule related log entries before it. I can reproduce it if you want though...
-
[Solved] alarm() in global expression throws error in log.I downloaded it again, re-applied and restarted.
Changed entity to eliminate any issues with my x_mqtt entity but same behavior and this is whats logged at Engine level 4[latest-25310]2025-11-07T15:19:15.932Z <Engine:CRIT> ReferenceError: alarm() can only be used in global expressions [-] ReferenceError: alarm() can only be used in global expressions at /home/homebridge/reactor/server/lib/Engine.js:1455:23 at _run (/home/homebridge/reactor/common/lexp.js:1704:34) at /home/homebridge/reactor/common/lexp.js:1426:29 at Array.forEach (<anonymous>) at _run (/home/homebridge/reactor/common/lexp.js:1425:28) at Object.run (/home/homebridge/reactor/common/lexp.js:1855:24) at Engine._eval_expr (/home/homebridge/reactor/server/lib/Engine.js:1170:141) at Engine._expr_dependency (/home/homebridge/reactor/server/lib/Engine.js:1555:82) at /home/homebridge/reactor/server/lib/MessageBus.js:114:195 at Array.forEach (<anonymous>) [latest-25310]2025-11-07T15:19:16.861Z <Engine:CRIT> Engine#1 alarmTest alarm() tick [latest-25310]2025-11-07T15:19:16.861Z <Engine:CRIT> Engine#1 alarm(0) -- cancelling alarmTest timer [latest-25310]2025-11-07T15:19:16.862Z <Engine:CRIT> Engine#1 alarm() scheduled alarmTest tick for 1762528771862<2025-11-07 16:19:31> = now 1762528756862<2025-11-07 16:19:16> + delay 15000 [latest-25310]2025-11-07T15:19:21.817Z <Engine:ERR> Engine#1: error evaluating expression alarmTest: [ReferenceError] alarm() can only be used in global expressions [-] [latest-25310]2025-11-07T15:19:21.817Z <Engine:ERR> Engine#1: expression: alarm(0), alarm(15), getEntity( "hass>sensor_momentary_active_import" ).attributes.string_sensor.value [latest-25310]2025-11-07T15:19:21.817Z <Engine:CRIT> ReferenceError: alarm() can only be used in global expressions [-] ReferenceError: alarm() can only be used in global expressions at /home/homebridge/reactor/server/lib/Engine.js:1455:23 at _run (/home/homebridge/reactor/common/lexp.js:1704:34) at /home/homebridge/reactor/common/lexp.js:1426:29 at Array.forEach (<anonymous>) at _run (/home/homebridge/reactor/common/lexp.js:1425:28) at Object.run (/home/homebridge/reactor/common/lexp.js:1855:24) at Engine._eval_expr (/home/homebridge/reactor/server/lib/Engine.js:1170:141) at Engine._expr_dependency (/home/homebridge/reactor/server/lib/Engine.js:1555:82) at /home/homebridge/reactor/server/lib/MessageBus.js:114:195 at Array.forEach (<anonymous>) [latest-25310]2025-11-07T15:19:21.823Z <Engine:ERR> Engine#1: error evaluating expression alarmTest: [ReferenceError] alarm() can only be used in global expressions [-] [latest-25310]2025-11-07T15:19:21.823Z <Engine:ERR> Engine#1: expression: alarm(0), alarm(15), getEntity( "hass>sensor_momentary_active_import" ).attributes.string_sensor.value [latest-25310]2025-11-07T15:19:21.824Z <Engine:CRIT> ReferenceError: alarm() can only be used in global expressions [-] ReferenceError: alarm() can only be used in global expressions at /home/homebridge/reactor/server/lib/Engine.js:1455:23 at _run (/home/homebridge/reactor/common/lexp.js:1704:34) at /home/homebridge/reactor/common/lexp.js:1426:29 at Array.forEach (<anonymous>) at _run (/home/homebridge/reactor/common/lexp.js:1425:28) at Object.run (/home/homebridge/reactor/common/lexp.js:1855:24) at Engine._eval_expr (/home/homebridge/reactor/server/lib/Engine.js:1170:141) at Engine._expr_dependency (/home/homebridge/reactor/server/lib/Engine.js:1555:82) at /home/homebridge/reactor/server/lib/MessageBus.js:114:195 at Array.forEach (<anonymous>) [latest-25310]2025-11-07T15:19:21.827Z <Engine:ERR> Engine#1: error evaluating expression alarmTest: [ReferenceError] alarm() can only be used in global expressions [-] [latest-25310]2025-11-07T15:19:21.827Z <Engine:ERR> Engine#1: expression: alarm(0), alarm(15)...Tried Engine log level 5 but was to much for me to handle
I tested the same expression in a new variable but it produced the same error.
No related errors in the startup sequence of the log either. -
[Solved] alarm() in global expression throws error in log.Yes, if I lower the tick to 2000ms it's logged (different from before)
[latest-25310]2025-11-07T14:42:21.833Z <Engine:CRIT> Engine#1 alarm() scheduled alarmTest tick for 1762526543833<2025-11-07 15:42:23> = now 1762526541833<2025-11-07 15:42:21> + delay 2000 [latest-25310]2025-11-07T14:42:23.833Z <Engine:CRIT> Engine#1 alarmTest alarm() tick [latest-25310]2025-11-07T14:42:23.833Z <Engine:CRIT> Engine#1 alarm(0) -- cancelling alarmTest timer -
[Solved] alarm() in global expression throws error in log.Testing with
alarm(0), alarm(15), getEntity( "mosquitto-mqtt>smartmeter" ).attributes.x_momentary_active_import.valueSame behavior in GUI, log:
[latest-25310]2025-11-07T14:32:20.950Z <Engine:NOTICE> Engine#1 expression alarmTest has changed [latest-25310]2025-11-07T14:32:20.951Z <Engine:CRIT> Engine#1 alarm(0) -- cancelling alarmTest timer [latest-25310]2025-11-07T14:32:20.951Z <Engine:CRIT> Engine#1 alarm() scheduled alarmTest tick for 1762525955951<2025-11-07 15:32:35> = now 1762525940951<2025-11-07 15:32:20> + delay 15000 [latest-25310]2025-11-07T14:32:21.782Z <Engine:ERR> Engine#1: error evaluating expression alarmTest: [ReferenceError] alarm() can only be used in global expressions [-] [latest-25310]2025-11-07T14:32:21.782Z <Engine:ERR> Engine#1: expression: alarm(0), alarm(15),getEntity( "mosquitto-mqtt>smartmeter" ).attributes.x_momentary_active_import.value [latest-25310]2025-11-07T14:32:21.783Z <Engine:CRIT> ReferenceError: alarm() can only be used in global expressions [-] ReferenceError: alarm() can only be used in global expressions at /home/homebridge/reactor/server/lib/Engine.js:1455:23 at _run (/home/homebridge/reactor/common/lexp.js:1704:34) at /home/homebridge/reactor/common/lexp.js:1426:29 at Array.forEach (<anonymous>) at _run (/home/homebridge/reactor/common/lexp.js:1425:28) at Object.run (/home/homebridge/reactor/common/lexp.js:1855:24) at Engine._eval_expr (/home/homebridge/reactor/server/lib/Engine.js:1170:141) at Engine._expr_dependency (/home/homebridge/reactor/server/lib/Engine.js:1555:82) at /home/homebridge/reactor/server/lib/MessageBus.js:114:195 at Array.forEach (<anonymous>) [latest-25310]2025-11-07T14:32:21.791Z <Engine:CRIT> Engine#1 alarm(0) -- cancelling alarmTest timer [latest-25310]2025-11-07T14:32:21.791Z <Engine:CRIT> Engine#1 alarm() scheduled alarmTest tick for 1762525956791<2025-11-07 15:32:36> = now 1762525941791<2025-11-07 15:32:21> + delay 15000 [latest-25310]2025-11-07T14:32:21.796Z <Engine:CRIT> Engine#1 alarm(0) -- cancelling alarmTest timer [latest-25310]2025-11-07T14:32:21.796Z <Engine:CRIT> Engine#1 alarm() scheduled alarmTest tick for 1762525956796<2025-11-07 15:32:36> = now 1762525941796<2025-11-07 15:32:21> + delay 15000 [latest-25310]2025-11-07T14:32:21.801Z <Engine:CRIT> Engine#1 alarm(0) -- cancelling alarmTest timer [latest-25310]2025-11-07T14:32:21.801Z <Engine:CRIT> Engine#1 alarm() scheduled alarmTest tick for 1762525956801<2025-11-07 15:32:36> = now 1762525941801<2025-11-07 15:32:21> + delay 15000 [latest-25310]2025-11-07T14:32:21.803Z <Engine:CRIT> Engine#1 alarm(0) -- cancelling alarmTest timer [latest-25310]2025-11-07T14:32:21.803Z <Engine:CRIT> Engine#1 alarm() scheduled alarmTest tick for 1762525956803<2025-11-07 15:32:36> = now 1762525941803<2025-11-07 15:32:21> + delay 15000 [latest-25310]2025-11-07T14:32:21.805Z <Engine:CRIT> Engine#1 alarm(0) -- cancelling alarmTest timer [latest-25310]2025-11-07T14:32:21.806Z <Engine:CRIT> Engine#1 alarm() scheduled alarmTest tick for 1762525956806<2025-11-07 15:32:36> = now 1762525941806<2025-11-07 15:32:21> + delay 15000 [latest-25310]2025-11-07T14:32:21.812Z <Engine:CRIT> Engine#1 alarm(0) -- cancelling alarmTest timer [latest-25310]2025-11-07T14:32:21.812Z <Engine:CRIT> Engine#1 alarm() scheduled alarmTest tick for 1762525956812<2025-11-07 15:32:36> = now 1762525941812<2025-11-07 15:32:21> + delay 15000 [latest-25310]2025-11-07T14:32:21.815Z <Engine:CRIT> Engine#1 alarm(0) -- cancelling alarmTest timer [latest-25310]2025-11-07T14:32:21.815Z <Engine:CRIT> Engine#1 alarm() scheduled alarmTest tick for 1762525956815<2025-11-07 15:32:36> = now 1762525941815<2025-11-07 15:32:21> + delay 15000 [latest-25310]2025-11-07T14:32:25.543Z <Rule:INFO> Luftrenare Sovrum (rule-lu9y668n in Funktioner) starting rule state evaluation; because entity-changed Entity#mosquitto-mqtt>sovrumsdorr [latest-25310]2025-11-07T14:32:25.544Z <Rule:INFO> LV pump värme - Övervåningen (rule-lb10thf8 in Funktioner) starting rule state evaluation; because entity-changed Entity#mosquitto-mqtt>sovrumsdorr [latest-25310]2025-11-07T14:32:25.544Z <Rule:INFO> Rule#rule-lb10thf8 local temp has object dependency [latest-25310]2025-11-07T14:32:25.835Z <Rule:INFO> Luftrenare Sovrum (rule-lu9y668n in Funktioner) starting rule state evaluation; because entity-changed Entity#mosquitto-mqtt>sovrumsdorr [latest-25310]2025-11-07T14:32:25.836Z <Rule:INFO> LV pump värme - Övervåningen (rule-lb10thf8 in Funktioner) starting rule state evaluation; because entity-changed Entity#mosquitto-mqtt>sovrumsdorr [latest-25310]2025-11-07T14:32:25.836Z <Rule:INFO> Rule#rule-lb10thf8 local temp has object dependency [latest-25310]2025-11-07T14:32:25.995Z <Rule:INFO> Luftrenare Sovrum (rule-lu9y668n in Funktioner) starting rule state evaluation; because entity-changed Entity#mosquitto-mqtt>sovrumsdorr [latest-25310]2025-11-07T14:32:25.996Z <Rule:INFO> LV pump värme - Övervåningen (rule-lb10thf8 in Funktioner) starting rule state evaluation; because entity-changed Entity#mosquitto-mqtt>sovrumsdorr [latest-25310]2025-11-07T14:32:25.996Z <Rule:INFO> Rule#rule-lb10thf8 local temp has object dependency [latest-25310]2025-11-07T14:32:26.338Z <Rule:INFO> Luftrenare Sovrum (rule-lu9y668n in Funktioner) starting rule state evaluation; because entity-changed Entity#mosquitto-mqtt>sovrumsdorr [latest-25310]2025-11-07T14:32:26.339Z <Rule:INFO> LV pump värme - Övervåningen (rule-lb10thf8 in Funktioner) starting rule state evaluation; because entity-changed Entity#mosquitto-mqtt>sovrumsdorr [latest-25310]2025-11-07T14:32:26.339Z <Rule:INFO> Rule#rule-lb10thf8 local temp has object dependency [latest-25310]2025-11-07T14:32:26.469Z <Rule:INFO> Luftrenare Sovrum (rule-lu9y668n in Funktioner) starting rule state evaluation; because entity-changed Entity#mosquitto-mqtt>sovrumsdorr [latest-25310]2025-11-07T14:32:26.469Z <Rule:INFO> LV pump värme - Övervåningen (rule-lb10thf8 in Funktioner) starting rule state evaluation; because entity-changed Entity#mosquitto-mqtt>sovrumsdorr [latest-25310]2025-11-07T14:32:26.469Z <Rule:INFO> Rule#rule-lb10thf8 local temp has object dependency [latest-25310]2025-11-07T14:32:26.882Z <Rule:INFO> Luftrenare Sovrum (rule-lu9y668n in Funktioner) starting rule state evaluation; because entity-changed Entity#mosquitto-mqtt>sovrumsdorr [latest-25310]2025-11-07T14:32:26.883Z <Rule:INFO> LV pump värme - Övervåningen (rule-lb10thf8 in Funktioner) starting rule state evaluation; because entity-changed Entity#mosquitto-mqtt>sovrumsdorr [latest-25310]2025-11-07T14:32:26.883Z <Rule:INFO> Rule#rule-lb10thf8 local temp has object dependency [latest-25310]2025-11-07T14:32:26.970Z <Rule:INFO> Luftrenare Sovrum (rule-lu9y668n in Funktioner) starting rule state evaluation; because entity-changed Entity#mosquitto-mqtt>sovrumsdorr [latest-25310]2025-11-07T14:32:26.970Z <Rule:INFO> LV pump värme - Övervåningen (rule-lb10thf8 in Funktioner) starting rule state evaluation; because entity-changed Entity#mosquitto-mqtt>sovrumsdorr [latest-25310]2025-11-07T14:32:26.970Z <Rule:INFO> Rule#rule-lb10thf8 local temp has object dependency [latest-25310]2025-11-07T14:32:27.400Z <Rule:INFO> Luftrenare Sovrum (rule-lu9y668n in Funktioner) starting rule state evaluation; because entity-changed Entity#mosquitto-mqtt>sovrumsdorr [latest-25310]2025-11-07T14:32:27.400Z <Rule:INFO> LV pump värme - Övervåningen (rule-lb10thf8 in Funktioner) starting rule state evaluation; because entity-changed Entity#mosquitto-mqtt>sovrumsdorr [latest-25310]2025-11-07T14:32:27.401Z <Rule:INFO> Rule#rule-lb10thf8 local temp has object dependency [latest-25310]2025-11-07T14:32:29.986Z <Engine:ERR> Engine#1: error evaluating expression alarmTest: [ReferenceError] alarm() can only be used in global expressions [-] [latest-25310]2025-11-07T14:32:29.986Z <Engine:ERR> Engine#1: expression: alarm(0), alarm(15),getEntity( "mosquitto-mqtt>smartmeter" ).attributes.x_momentary_active_import.value [latest-25310]2025-11-07T14:32:29.987Z <Engine:CRIT> ReferenceError: alarm() can only be used in global expressions [-] ReferenceError: alarm() can only be used in global expressions at /home/homebridge/reactor/server/lib/Engine.js:1455:23 at _run (/home/homebridge/reactor/common/lexp.js:1704:34) at /home/homebridge/reactor/common/lexp.js:1426:29 at Array.forEach (<anonymous>) at _run (/home/homebridge/reactor/common/lexp.js:1425:28) at Object.run (/home/homebridge/reactor/common/lexp.js:1855:24) at Engine._eval_expr (/home/homebridge/reactor/server/lib/Engine.js:1170:141) at Engine._expr_dependency (/home/homebridge/reactor/server/lib/Engine.js:1555:82) at /home/homebridge/reactor/server/lib/MessageBus.js:114:195 at Array.forEach (<anonymous>) [latest-25310]2025-11-07T14:32:31.727Z <Engine:ERR> Engine#1: error evaluating expression alarmTest: [ReferenceError] alarm() can only be used in global expressions [-] [latest-25310]2025-11-07T14:32:31.727Z <Engine:ERR> Engine#1: expression: alarm(0), alarm(15),getEntity( "mosquitto-mqtt>smartmeter" ).attributes.x_momentary_active_import.value [latest-25310]2025-11-07T14:32:31.727Z <Engine:CRIT> ReferenceError: alarm() can only be used in global expressions [-] ReferenceError: alarm() can only be used in global expressions at /home/homebridge/reactor/server/lib/Engine.js:1455:23 at _run (/home/homebridge/reactor/common/lexp.js:1704:34) at /home/homebridge/reactor/common/lexp.js:1426:29 at Array.forEach (<anonymous>) at _run (/home/homebridge/reactor/common/lexp.js:1425:28) at Object.run (/home/homebridge/reactor/common/lexp.js:1855:24) at Engine._eval_expr (/home/homebridge/reactor/server/lib/Engine.js:1170:141) at Engine._expr_dependency (/home/homebridge/reactor/server/lib/Engine.js:1555:82) at /home/homebridge/reactor/server/lib/MessageBus.js:114:195 at Array.forEach (<anonymous>) [latest-25310]2025-11-07T14:32:31.735Z <Engine:ERR> Engine#1: error evaluating expression alarmTest: [ReferenceError] alarm() can only be used in global expressions [-] [latest-25310]2025-11-07T14:32:31.735Z <Engine:ERR> Engine#1: expression: alarm(0), alarm(15),getEntity( "mosquitto-mqtt>smartmeter" ).attributes.x_momentary_active_import.value [latest-25310]2025-11-07T14:32:31.735Z <Engine:CRIT> ReferenceError: alarm() can only be used in global expressions [-] ReferenceError: alarm() can only be used in global expressions at /home/homebridge/reactor/server/lib/Engine.js:1455:23 at _run (/home/homebridge/reactor/common/lexp.js:1704:34) at /home/homebridge/reactor/common/lexp.js:1426:29 at Array.forEach (<anonymous>) at _run (/home/homebridge/reactor/common/lexp.js:1425:28) at Object.run (/home/homebridge/reactor/common/lexp.js:1855:24) at Engine._eval_expr (/home/homebridge/reactor/server/lib/Engine.js:1170:141) at Engine._expr_dependency (/home/homebridge/reactor/server/lib/Engine.js:1555:82) at /home/homebridge/reactor/server/lib/MessageBus.js:114:195 at Array.forEach (<anonymous>) [latest-25310]2025-11-07T14:32:31.738Z <Engine:ERR> Engine#1: error evaluating expression alarmTest: [ReferenceError] alarm() can only be used in global expressions [-] [latest-25310]2025-11-07T14:32:31.738Z <Engine:ERR> Engine#1: expression: alarm(0), alarm(15),getEntity( "mosquitto-mqtt>smartmeter" ).attributes.x_momentary_active_import.value







