Jump to content

Welcome to Smart Home Forum by FIBARO

Dear Guest,

 

as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.

 

As a member you can:

  •     Start new topics and reply to others
  •     Follow topics and users to get email updates
  •     Get your own profile page and make new friends
  •     Send personal messages
  •     ... and learn a lot about our system!

 

Regards,

Smart Home Forum by FIBARO Team


  • 0

Question

Posted

How does the Lua engine work? is it a single state, or a new state for every piece of code?

I noticed that this code;

Please login or register to see this code.

Keeps on printing 0 in the debug window, which leads me to believe that for every invocation of a piece of Lua code a new luaState is generated or at least a new sandbox inside a luaState.

Considering the nature of the Lua VM, this Fibaro implementation seems extremely expensive (performance wise) and is forcing duplication of code in each element of a virtual device UI. Why isn't there a sandbox/environment per device? which allows code reuse within a virtual device, easy sharing of global state, and is way faster.

3 answers to this question

Recommended Posts

  • 0
Posted

it runs in individual chunks per instance of scenes so no global variables.

The virtual devices are the only exception.

  • 0
  • Inquirer
  • Posted

    what is the exception with virtual devices? Seems to me it also only runs chunks

    • 0
    Posted

    Main loop does hold state so you can put an if around a variable and it will set once and hold value across runs. You can't access outside main loop though but some people have made use of it.

    If you search we have asked may times for more open support of LUA. look at bugzilla for example

    Please login or register to see this link.

    There was a rumour that we may get something but just a rumour. As I say 4.x may have more

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Answer this question...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

    ×
    ×
    • Create New...