No Handler Cause

So I was working on a workflow in ALTUI and then did a Reload

Page failed to load
I did a reboot and I now get No Handler

In the logs all I can see is this :

2016-05-12 10:19:16.697 luup.variable_set:3: 3.urn:upnp-org:serviceId:altui1.Timers was: [{"armed":false,"data":"3#3#ef4a4ce9-a3e4-4c77-80b2-4a375797fdf8#4a58f7b1-d8be-4626-9032-a197d183f4ba#99f5bdc7-f412-4c66-a70f-02f2b5cb50a7","callback":"workflowTimerCB","expireson":1463040171}] now: [{"expireson":1463040171,"callback":"workflowTimerCB","data":"3#3#ef4a4ce9-a3e4-4c77-80b2-4a375797fdf8#4a58f7b1-d8be-4626-9032-a197d183f4ba#99f5bdc7-f412-4c66-a70f-02f2b5cb50a7","armed":false}] #hooks:0 2016-05-12 10:19:16.697 luup_log:3: ALTUI: Wkflow - enableWorkflows(3,1) 2016-05-12 10:19:16.790 openLuup.context_switch:: ERROR: [string "[3] I_ALTUI.xml"]:726: table index is nil 2016-05-12 10:19:16.790 luup.delay_callback:: function: 0xec6d38 ERROR: [string "[3] I_ALTUI.xml"]:726: table index is nil 2016-05-12 10:19:17.792 luup_log:8: (RulesEngine::loadStartupFiles) WARNING: File 'C_RulesEngine_Startup.lua' does not exist 2016-05-12 10:19:17.798 openLuup.context_switch:: ERROR: /usr/share/lua/5.1/lxp/lom.lua:48: bad argument #1 to 'pairs' (table expected, got nil) 2016-05-12 10:19:17.798 luup.delay_callback:: function: 0xf059d0 ERROR: /usr/share/lua/5.1/lxp/lom.lua:48: bad argument #1 to 'pairs' (table expected, got nil) 2016-05-12 10:19:26.726 luup.call_action:8: 3.urn:upnp-org:serviceId:altui1.RegisterPlugin 2016-05-12 10:19:26.726 luup_log:3: ALTUI: UPNPregisterPlugin(3,urn:schemas-upnp-org:device:RulesEngine:1,J_ALTUI_RulesEngine1.js,ALTUI_RulesEngine.drawDevice,ALTUI_RulesEngine.getStyle,,ALTUI_RulesEngine.drawControlPanel,) 2016-05-12 10:19:26.740 luup.variable_set:3: 3.urn:up

is there a magic way to disable workflows?

there is a setting on ALTUI device to disable workflows ( or you can set variable EnableWorkflows to 0 ) but that may not be enough in your case
we need the detailled log to see what is going on because that error message feels to me like a global lua plugin failure at init time so something is wrong in the startup

2016-05-12 10:19:16.790   openLuup.context_switch::  ERROR: [string "[3] I_ALTUI.xml"]:726: table index is nil

here ya go…

[quote=“amg0, post:3, topic:192334”]there is a setting on ALTUI device to disable workflows ( or you can set variable EnableWorkflows to 0 )

2016-05-12 10:19:16.790   openLuup.context_switch::  ERROR: [string "[3] I_ALTUI.xml"]:726: table index is nil

is there any short term method of disabling workflows…> Just for now so that my automation gets back to some working order

Just another question as I am trying to find someway to make this work…

From what I can see , the issue lies squarely with my user data file…
If I run ./openLuup_reload startup_lua
and clear everything… I have working system

but if I overwrite the user data

it goes back to failed… any thoughts as to how I might remove lies from the user data file thats causing the issue

New Update for you…

I walked through the 15k lines in the user_data file and manually deleted anything to do with Workflows…
my system is working now…

However, I am pretty sure the line that made the difference was just disabling workflows altogether…

[quote=“konradwalsh, post:7, topic:192334”]New Update for you…

I walked through the 15k lines in the user_data file and manually deleted anything to do with Workflows…
my system is working now…

However, I am pretty sure the line that made the difference was just disabling workflows altogether…[/quote]

yes that is still possible but without the log file we cannot see what was corrupted. probably in the workflow data structure definition ( as this is stored in user_data variables ) and we cannot fix the root cause; so would have been good to find.

The log files are post 4

Sent from my ONE A2003 using Tapatalk

I have a backup of the user data file that causes the issue of you want that

I can email it to you or redact a small part of it to hide api keys

Sent from my ONE A2003 using Tapatalk

yes user_data file could be good because the log files only show this which I have not idea how to interpret.

2016-05-12 13:29:25.340 luup_log:3: ALTUI: Wkflow - enableWorkflows(3,1) 2016-05-12 13:29:25.429 openLuup.context_switch:: ERROR: [string "[3] I_ALTUI.xml"]:725: table index is nil

a) it would be useful to set ALTUI in DEBUG mode (“Debug” variable set to 1), then restarted so we get the debug mode logging of the initialization procedure

b) probably need akbooer to advice on where the luup.log traces are going because these log are very different from VERA log and I am not sure how to interpret them

the backup file is at work so I cant upload it yet

but I was able to replicate it

If I create a new workflow
then go to import and paste this

{ "active_state": {}, "altuiid": "0-5", "graph_json": "{\"cells\":[{\"type\":\"devs.Model\",\"size\":{\"width\":90,\"height\":90},\"inPorts\":[],\"outPorts\":[\"out\"],\"position\":{\"x\":30,\"y\":30},\"angle\":0,\"id\":\"edfa120e-e732-4fd0-a601-2edff46f9bf2\",\"prop\":{\"onEnterLua\":\"\",\"onEnter\":[],\"onEnterScenes\":[],\"stateinfo\":{\"bStart\":true},\"expired\":false,\"onExit\":[],\"onExitScenes\":[],\"onExitLua\":\"\"},\"z\":1,\"attrs\":{\".label\":{\"text\":\"Start\",\"ref-x\":0.4,\"ref-y\":0.2},\"rect\":{\"fill\":\"#2ECC71\"},\".inPorts circle\":{\"magnet\":\"passive\",\"type\":\"input\",\"fill\":\"#16A085\"},\".outPorts circle\":{\"fill\":\"#E74C3C\",\"type\":\"output\"},\".outPorts>.port0\":{\"ref\":\".body\",\"ref-y\":0.5,\"ref-dx\":0},\".outPorts>.port0>.port-label\":{\"text\":\"out\"},\".outPorts>.port0>.port-body\":{\"port\":{\"id\":\"out\",\"type\":\"out\"}}}},{\"type\":\"devs.Model\",\"size\":{\"width\":90,\"height\":90},\"inPorts\":[\"in1\",\"in2\",\"in3\"],\"outPorts\":[\"out1\",\"out2\",\"out3\"],\"position\":{\"x\":550,\"y\":41},\"angle\":0,\"id\":\"eb83b3ab-f830-4e4a-87cf-bd94e43b27d6\",\"prop\":{\"onEnter\":[{\"device\":\"0-20088\",\"service\":\"urn:upnp-org:serviceId:SwitchPower1\",\"action\":\"SetTarget\",\"arguments\":[{\"name\":\"newTargetValue\",\"value\":\"0\"}]}],\"onEnterScenes\":[],\"stateinfo\":{\"bStart\":false},\"onEnterLua\":\"\",\"onExit\":[],\"onExitScenes\":[],\"onExitLua\":\"\"},\"z\":2,\"attrs\":{\".port-body\":{\"r\":7},\".label\":{\"text\":\"Heating Idle\",\"ref-y\":0.2},\".inPorts>.port2>.port-body\":{\"port\":{\"id\":\"in3\",\"type\":\"in\"}},\".inPorts>.port0>.port-body\":{\"port\":{\"id\":\"in1\",\"type\":\"in\"}},\".inPorts>.port0>.port-label\":{\"text\":\"in1\"},\".inPorts>.port1>.port-label\":{\"text\":\"in2\"},\".outPorts>.port0\":{\"ref\":\".body\",\"ref-y\":0.16666666666666666,\"ref-dx\":0},\".inPorts>.port0\":{\"ref-y\":0.16666666666666666,\"ref\":\".body\"},\".inPorts circle\":{\"magnet\":\"passive\",\"type\":\"input\",\"fill\":\"#16A085\"},\".outPorts>.port2>.port-body\":{\"port\":{\"id\":\"out3\",\"type\":\"out\"}},\".inPorts>.port1\":{\"ref-y\":0.5,\"ref\":\".body\"},\".inPorts>.port2>.port-label\":{\"text\":\"in3\"},\".outPorts>.port1>.port-label\":{\"text\":\"out2\"},\".outPorts>.port2\":{\"ref\":\".body\",\"ref-y\":0.8333333333333333,\"ref-dx\":0},\".outPorts>.port0>.port-body\":{\"port\":{\"id\":\"out1\",\"type\":\"out\"}},\".outPorts>.port0>.port-label\":{\"text\":\"out1\"},\"rect\":{\"fill\":\"lightblue\"},\".inPorts>.port2\":{\"ref-y\":0.8333333333333333,\"ref\":\".body\"},\".outPorts>.port1>.port-body\":{\"port\":{\"id\":\"out2\",\"type\":\"out\"}},\".inPorts>.port1>.port-body\":{\"port\":{\"id\":\"in2\",\"type\":\"in\"}},\".outPorts circle\":{\"fill\":\"#E74C3C\",\"type\":\"output\"},\".outPorts>.port2>.port-label\":{\"text\":\"out3\"},\".outPorts>.port1\":{\"ref\":\".body\",\"ref-y\":0.5,\"ref-dx\":0}}},{\"type\":\"devs.Model\",\"size\":{\"width\":90,\"height\":90},\"inPorts\":[\"in1\",\"in2\",\"in3\"],\"outPorts\":[\"out1\",\"out2\",\"out3\"],\"position\":{\"x\":561,\"y\":359},\"angle\":0,\"embeds\":\"\",\"id\":\"c3f4e4b4-ad8a-4408-b5d0-80a344671274\",\"prop\":{\"onEnter\":[{\"device\":\"0-20088\",\"service\":\"urn:upnp-org:serviceId:SwitchPower1\",\"action\":\"SetTarget\",\"arguments\":[{\"name\":\"newTargetValue\",\"value\":\"1\"}]}],\"onEnterScenes\":[],\"stateinfo\":{\"bStart\":false},\"onEnterLua\":\"\",\"onExit\":[],\"onExitScenes\":[],\"onExitLua\":\"\"},\"z\":2,\"attrs\":{\".port-body\":{\"r\":7},\".label\":{\"text\":\"Turn On Boiler Switch\",\"ref-y\":0.2},\".inPorts>.port2>.port-body\":{\"port\":{\"id\":\"in3\",\"type\":\"in\"}},\".inPorts>.port0>.port-body\":{\"port\":{\"id\":\"in1\",\"type\":\"in\"}},\".inPorts>.port0>.port-label\":{\"text\":\"in1\"},\".inPorts>.port1>.port-label\":{\"text\":\"in2\"},\".outPorts>.port0\":{\"ref\":\".body\",\"ref-y\":0.16666666666666666,\"ref-dx\":0},\".inPorts>.port0\":{\"ref-y\":0.16666666666666666,\"ref\":\".body\"},\".inPorts circle\":{\"magnet\":\"passive\",\"type\":\"input\",\"fill\":\"#16A085\"},\".outPorts>.port2>.port-body\":{\"port\":{\"id\":\"out3\",\"type\":\"out\"}},\".inPorts>.port1\":{\"ref-y\":0.5,\"ref\":\".body\"},\".inPorts>.port2>.port-label\":{\"text\":\"in3\"},\".outPorts>.port1>.port-label\":{\"text\":\"out2\"},\".outPorts>.port2\":{\"ref\":\".body\",\"ref-y\":0.8333333333333333,\"ref-dx\":0},\".outPorts>.port0>.port-body\":{\"port\":{\"id\":\"out1\",\"type\":\"out\"}},\".outPorts>.port0>.port-label\":{\"text\":\"out1\"},\"rect\":{\"fill\":\"lightblue\"},\".inPorts>.port2\":{\"ref-y\":0.8333333333333333,\"ref\":\".body\"},\".outPorts>.port1>.port-body\":{\"port\":{\"id\":\"out2\",\"type\":\"out\"}},\".inPorts>.port1>.port-body\":{\"port\":{\"id\":\"in2\",\"type\":\"in\"}},\".outPorts circle\":{\"fill\":\"#E74C3C\",\"type\":\"output\"},\".outPorts>.port2>.port-label\":{\"text\":\"out3\"},\".outPorts>.port1\":{\"ref\":\".body\",\"ref-y\":0.5,\"ref-dx\":0}}},{\"type\":\"link\",\"source\":{\"id\":\"edfa120e-e732-4fd0-a601-2edff46f9bf2\",\"port\":\"out\",\"selector\":\"g:nth-child(1) > g:nth-child(4) > g:nth-child(1) > circle:nth-child(1)\"},\"target\":{\"id\":\"eb83b3ab-f830-4e4a-87cf-bd94e43b27d6\",\"port\":\"in1\",\"selector\":\"g:nth-child(1) > g:nth-child(3) > g:nth-child(1) > circle:nth-child(1)\"},\"id\":\"c0e4b971-8057-48d4-90e9-7410006aa440\",\"prop\":{\"timer\":\"1sec\",\"conditions\":[],\"expired\":true,\"duration\":\"1\"},\"vertices\":[],\"z\":40,\"smooth\":true,\"embeds\":\"\",\"labels\":[{\"attrs\":{\"text\":{\"text\":\"1 Sec Timer\"}},\"position\":0.5}],\"attrs\":{\".marker-target\":{\"d\":\"M 10 0 L 0 5 L 10 10 z\"}}},{\"type\":\"link\",\"source\":{\"id\":\"eb83b3ab-f830-4e4a-87cf-bd94e43b27d6\",\"port\":\"out2\",\"selector\":\"g:nth-child(1) > g:nth-child(4) > g:nth-child(2) > circle:nth-child(1)\"},\"target\":{\"id\":\"c3f4e4b4-ad8a-4408-b5d0-80a344671274\",\"port\":\"in2\",\"selector\":\"g:nth-child(1) > g:nth-child(3) > g:nth-child(2) > circle:nth-child(1)\"},\"id\":\"cb9d4228-3c5a-4f5a-af78-d6c3c2a7689d\",\"prop\":{\"timer\":\"\",\"conditions\":[{\"luaexpr\":\"new == '1'\",\"triggeronly\":false,\"device\":\"0-20091\",\"variable\":\"Status\",\"service\":\"urn:upnp-org:serviceId:SwitchPower1\"}],\"duration\":\"\"},\"vertices\":[{\"y\":181,\"x\":979},{\"y\":219,\"x\":1004},{\"y\":321,\"x\":927}],\"z\":44,\"smooth\":true,\"embeds\":\"\",\"labels\":[{\"attrs\":{\"text\":{\"text\":\"Request For Upstairs Heat\"}},\"position\":0.5}],\"attrs\":{\".marker-target\":{\"d\":\"M 10 0 L 0 5 L 10 10 z\"}}},{\"type\":\"link\",\"source\":{\"id\":\"eb83b3ab-f830-4e4a-87cf-bd94e43b27d6\",\"port\":\"out1\",\"selector\":\"g:nth-child(1) > g:nth-child(4) > g:nth-child(1) > circle:nth-child(1)\"},\"target\":{\"id\":\"c3f4e4b4-ad8a-4408-b5d0-80a344671274\",\"port\":\"in1\",\"selector\":\"g:nth-child(1) > g:nth-child(3) > g:nth-child(1) > circle:nth-child(1)\"},\"id\":\"0b81aba7-a013-453d-afaf-dcccda626f10\",\"prop\":{\"timer\":\"\",\"conditions\":[{\"luaexpr\":\"new == '1'\",\"triggeronly\":false,\"device\":\"0-20089\",\"variable\":\"Status\",\"service\":\"urn:upnp-org:serviceId:SwitchPower1\"}],\"duration\":\"\"},\"vertices\":[{\"y\":68,\"x\":796},{\"y\":179,\"x\":768},{\"y\":283,\"x\":324}],\"z\":46,\"smooth\":true,\"embeds\":\"\",\"labels\":[{\"attrs\":{\"text\":{\"text\":\"Request For Downstairs Heating\"}},\"position\":0.5}],\"attrs\":{\".marker-target\":{\"d\":\"M 10 0 L 0 5 L 10 10 z\"}}},{\"type\":\"link\",\"source\":{\"id\":\"c3f4e4b4-ad8a-4408-b5d0-80a344671274\",\"port\":\"out1\",\"selector\":\"g:nth-child(1) > g:nth-child(4) > g:nth-child(1) > circle:nth-child(1)\"},\"target\":{\"id\":\"eb83b3ab-f830-4e4a-87cf-bd94e43b27d6\",\"port\":\"in2\",\"selector\":\"g:nth-child(1) > g:nth-child(3) > g:nth-child(2) > circle:nth-child(1)\"},\"id\":\"81aca577-a95b-462b-9cd0-5207da753f90\",\"prop\":{\"timer\":\"\",\"conditions\":[{\"luaexpr\":\"new == '0'\",\"triggeronly\":false,\"device\":\"0-20089\",\"variable\":\"Status\",\"service\":\"urn:upnp-org:serviceId:SwitchPower1\"}],\"duration\":\"\"},\"vertices\":[{\"y\":337,\"x\":744},{\"y\":270,\"x\":765},{\"y\":247,\"x\":693},{\"y\":164,\"x\":350}],\"z\":48,\"smooth\":true,\"embeds\":\"\",\"labels\":[{\"attrs\":{\"text\":{\"text\":\"Downstairs Turned Off\"}},\"position\":0.5}],\"attrs\":{\".marker-target\":{\"d\":\"M 10 0 L 0 5 L 10 10 z\"}}},{\"type\":\"link\",\"source\":{\"id\":\"c3f4e4b4-ad8a-4408-b5d0-80a344671274\",\"port\":\"out2\",\"selector\":\"g:nth-child(1) > g:nth-child(4) > g:nth-child(2) > circle:nth-child(1)\"},\"target\":{\"id\":\"eb83b3ab-f830-4e4a-87cf-bd94e43b27d6\",\"port\":\"in3\",\"selector\":\"g:nth-child(1) > g:nth-child(3) > g:nth-child(3) > circle:nth-child(1)\"},\"id\":\"96970db4-abfa-4922-8ae1-b69e9e3dcd37\",\"prop\":{\"timer\":\"\",\"conditions\":[{\"luaexpr\":\"new == '0'\",\"triggeronly\":false,\"device\":\"0-20091\",\"variable\":\"Capabilities\",\"service\":\"urn:micasaverde-com:serviceId:ZWaveDevice1\"}],\"duration\":\"\"},\"vertices\":[{\"y\":297,\"x\":287},{\"y\":236,\"x\":173}],\"z\":50,\"smooth\":true,\"embeds\":\"\",\"labels\":[{\"attrs\":{\"text\":{\"text\":\"Upstairs Heat Off\"}},\"position\":0.5}],\"attrs\":{\".marker-target\":{\"d\":\"M 10 0 L 0 5 L 10 10 z\"}}}],\"active_state\":\"eb83b3ab-f830-4e4a-87cf-bd94e43b27d6\"}", "name": "Heating Control", "paused": false }

which I exported from the original one… then hit save and reload…

NO HANDLER…

I think the culprit is “active_state”: {},

I did not anticipate a workflow with an active_state non null but not specified. strange this is hapenning but I will harden the code to take care of that situation in the next release

great