x_vera_sys.runlua with VeraScenes.lua stopped working now ?
-
I was using this method here by @therealdb to run Lua Code from MSR on my Vera Plus but it seems to have stopped working now.
Its the one where you uploaded a file called VeraScenes.lua to your Vera hub and then you could call functions of that file to run particular bits of Lua code from an MSR reaction etc.
This was working well for a long time but I noticed today its not working now.
Looking in the MSR log after I ran a reaction in one of my rules I just saw this:
[latest-23338]2024-02-19T18:41:35.650Z <Engine:INFO> Enqueueing "Front Cam Motion Detection ON or OFF Old Method<RESET>" (rule-klten9w9:R) [latest-23338]2024-02-19T18:41:35.653Z <Engine:5:Engine.js:1466> [Engine]Engine#1 enqueued reaction rule-klten9w9:R as 22989 [latest-23338]2024-02-19T18:41:35.654Z <Engine:5:Engine.js:1624> _process_reaction_queue() wake-up! [latest-23338]2024-02-19T18:41:35.655Z <Engine:5:Engine.js:1563> _process_reaction_queue() running task 22989: [Object]{ "tid": 22989, "id": "rule-klten9w9:R", "rule": "rule-klten9w9", "__reaction": [RuleReaction#rule-klten9w9:R], "next_step": 0, "status": 0, "ts": 1708368095651, "parent": --null--, "__resolve": --function--, "__reject": --function--, "__promise": [object Promise] } [latest-23338]2024-02-19T18:41:35.657Z <Engine:NOTICE> Starting reaction Front Cam Motion Detection ON or OFF Old Method<RESET> (rule-klten9w9:R) [latest-23338]2024-02-19T18:41:35.659Z <Engine:5:Engine.js:1701> [Engine]Engine#1 reaction rule-klten9w9:R step 1 perform [Object]{ "entity": "vera>system", "action": "x_vera_sys.runlua", "args": { "lua": "VeraScenes.FrontCamMotionDetectionOff()" } } [latest-23338]2024-02-19T18:41:35.660Z <Engine:5:Engine.js:1577> _process_reaction_queue() task returned, new status 3; task 22989, history 1629572 [latest-23338]2024-02-19T18:41:35.663Z <Engine:5:Engine.js:1624> _process_reaction_queue ending with 1 in queue; none delayed/ready; waiting [latest-23338]2024-02-19T18:41:35.671Z <VeraController:ERR> [VeraController:performOnEntity] action request failed [latest-23338]2024-02-19T18:41:35.672Z <VeraController:CRIT> Error: Request failed: 401 Error [-] Error: Request failed: 401 Error at /home/stuart/reactor/server/lib/Controller.js:886:37 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) [latest-23338]2024-02-19T18:41:35.673Z <Engine:ERR> [Engine]Engine#1 reaction rule-klten9w9:R step 1 perform x_vera_sys.runlua failed: [Error] Request failed: 401 Error [-] [latest-23338]2024-02-19T18:41:35.673Z <Engine:INFO> [Engine]Engine#1 action args: [Object]{ "lua": "VeraScenes.FrontCamMotionDetectionOff()" } [latest-23338]2024-02-19T18:41:35.674Z <Engine:5:Engine.js:1624> _process_reaction_queue() wake-up! [latest-23338]2024-02-19T18:41:35.675Z <Engine:5:Engine.js:1563> _process_reaction_queue() running task 22989: [Object]{ "tid": 22989, "id": "rule-klten9w9:R", "rule": "rule-klten9w9", "__reaction": [RuleReaction#rule-klten9w9:R], "next_step": 2, "status": 1, "ts": 1708368095651, "parent": --null--, "__resolve": --function--, "__reject": --function--, "__promise": [object Promise], "attempts": 0, "history_id": 1629572 } [latest-23338]2024-02-19T18:41:35.676Z <Engine:INFO> Resuming reaction Front Cam Motion Detection ON or OFF Old Method<RESET> (rule-klten9w9:R) from step 2 [latest-23338]2024-02-19T18:41:35.678Z <Engine:5:Engine.js:1753> [Engine]Engine#1 reaction rule-klten9w9:R step 3 notify Telegram with [Object]{ "message": "Front Garden CAM Motion Detection Off", "profile": "default" } [latest-23338]2024-02-19T18:41:35.685Z <Engine:INFO> Front Cam Motion Detection ON or OFF Old Method<RESET> all actions completed. [
Was anyone else using this method to have Lua code run on your Vera hub being called via an MSR reaction ? Does it still work for you?
Thanks
-
Works fine. I suspect you inadvertently changed the
UnsafeLua
setting on your Vera somehow. TheRunLua
Vera request is protected by this flag. Your Vera log would have a complete message like:02 02/19/24 15:16:37.522 JobHandler_LuaUPnP::RunLua unsafe disabled <0x2f8f3680> 02 02/19/24 15:16:37.523 JobHandler_LuaUPnP::RunAction device -1 action urn:micasaverde-com:serviceId:HomeAutomationGateway1/RunLua failed with 401/No unsafe lua allowed <0x2f8f3680>
-
That setting is in Users & Account Info - Security - Enable potentially unsafe lua code, like wget and RunLua.
It was unchecked. I checked it again and Reloaded the engine and it started working again. I am not sure how that setting got turned OFF as I didn't do it.
But thanks anyway for pointing me in the right direction !
-
T toggledbits locked this topic on