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


Question

Posted

Hello, I have an application where if I manually turn on a light, I need to know that the light was manually turned on and not automatically by some sensor.
But I stuck at setting and reading the value of the global variable. The value printed is always Nil. Why?

 

This is the only code in the LUA scene.

 

Please login or register to see this code.

 

Help :)

6 answers to this question

Recommended Posts

  • 1
Posted

Yes, that's because you need to create the global variable "GarageLightBackForced" first.

Can be done in General->Variables panel.

  • 0
Posted
7 minutes ago, Patryk Kopaczewski said:

Hello, I have an application where if I manually turn on a light, I need to know that the light was manually turned on and not automatically by some sensor.
But I stuck at setting and reading the value of the global variable. The value printed is always Nil. Why?

 

This is the only code in the LUA scene.

 

Please login or register to see this code.

 

Help :)

 

You can't do this

Please login or register to see this code.

because hub.getGlobalVariable("GarageLightBackForced") returns 2 values,

the value of the variable and the timestamp when the variable was last changed.

That means that tonumber gets 2 values as input.

tonumber can get an optional second value that is the number-base for the conversion.

Now it gets the timstamp (which is a huge number) as base and it will actually throw an error...

  • 0
  • Inquirer
  • Posted

    Thank you for the explanation Jgab. So how can I get only the value of the variable?

    • 0
    Posted

    Extra parenthesis around the hub call

    Please login or register to see this code.

     

    • 0
  • Inquirer
  • Posted (edited)

    I added the extra parenthesis but it continues to give me:

    Please login or register to see this code.


    I expect instead the number "2".

    Edited by Patryk Kopaczewski

    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...