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

[Solved] Trying to set variables with LUA code, but something is wrong in the code


Question

Posted (edited)

I have used several block scenes to set a weekday variable and also not been able to set the month variable.

Have now tried to create a LUA code, that will set my 2 variables with only one scene, but it does not work.

 

Could someone let me know what I am doing wrong please?

(This is my first attempt on a LUA written scene) 

 

Please login or register to see this code.

 

The variables that are set:

 

Please login or register to see this image.

/monthly_2018_03/variables.png.a73b1897c9e436e7787ddd3f74ad58ba.png" />

Edited by Teza

4 answers to this question

Recommended Posts

  • 0
Posted

the info you receive back from the os.date is a string and not an integer. so just change your code to the following:

 

local dag = tonumber(os.date("%w"))
local mnd = tonumber(os.date("%m"))

 

also the response for the months are in 2 digit format eg 03 is March and not just 3

 

thanks

 

  • 0
  • Inquirer
  • Posted

    Thank you very much  :)

    • 0
    Posted (edited)

    TIP

    If unsure about something, add lines like

    fibaro:debug( "VariableName =  " .. VariableName .. ", VariableType = " .. type( VariableName ) )

    and open the debug window.

    "Problem" is that numbers in integer or string format cannot not be distinguished by printing (result looks the same),

    hence the type() function.

    Edited by BitBucket
    • 0
  • Inquirer
  • Posted

    @BitBucket Thanks for the tip.

     

    The code above set the correct variables value, but it turns out it does not run automaticly. (is set to do so on the first page)

    Have to start the scene to get the variables updated.

     

    So that is the next thing I will need to learn

     

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