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

fibaro:getDevicesId doesnt work with filter roomID


Question

Posted

Hello,

I want use fibaro:getDevicesId with filter roomID, but always I get only this error:

 

[ERROR] 22:27:05: line 446: bad argument #1 to 'pairs' (table expected, got string)

 

But I think input is correct

[DEBUG] 22:27:05: {"interfaces":["power"],"roomID":[248]}

 

What is wrong at this command?

ids = fibaro:getDevicesId({interfaces = {"power"}, roomID = {248}})

 

My code has only 253 rows.

 

Thank you

7 answers to this question

Recommended Posts

  • 0
Posted

Hello,

Can you try something? Cut the whole scene to Notepad and then paste it into a new scene. Check if the error will occur again.

  • 0
  • Inquirer
  • Posted

    Hello,

    I tried, but the result is same

     

    [DEBUG] 09:14:44: {"interfaces":["power"],"roomID":[248]}
    [ERROR] 09:14:44: line 446: bad argument #1 to 'pairs' (table expected, got string)
    • 0
    Posted
    Dnia 13.12.2017 o 22:37, marbe napisał:

    Hello,

    I want use fibaro:getDevicesId with filter roomID, but always I get only this error:

     

    [ERROR] 22:27:05: line 446: bad argument #1 to 'pairs' (table expected, got string)

     

    But I think input is correct

    [DEBUG] 22:27:05: {"interfaces":["power"],"roomID":[248]}

     

    What is wrong at this command?

    ids = fibaro:getDevicesId({interfaces = {"power"}, roomID = {248}})

     

    My code has only 253 rows.

     

    Thank you

     

     

    Your LUA code is wrong. Correct code:

     

    ids = fibaro:getDevicesId({interfaces = {"power"}, roomID = 248})

     

    Please note: roomID it cannot be TABLE! And never use quotes in variable name.

    @T.Konopka  to chyba nie ten dział dla tego tematu ;)

     

    Best regards!

    • 0
  • Inquirer
  • Posted

    Hello,

    if I see your documentation, for roomID should be as filter parameter table. Table is more usable for me.

    Please login or register to see this link.

     

    • {
    • "filter": "roomID",
    •   "value": [2, 3]
    • }

     

    • 0
    Posted

    The documentation is unfortunately not correct. See also the attached thread,where @Petergebruers contribution is particularly insightful.

     

     

    Rene.

    • 0
  • Inquirer
  • Posted

    Yes, this works, but please, change behavior, would be better to have possibility tom use string or table. 

    • 0
    Posted

    The topic has been moved from "

    Please login or register to see this link.

    " to "

    Please login or register to see this link.

    ".

     

    Temat został przeniesiony z "

    Please login or register to see this link.

    " do "

    Please login or register to see this link.

    ".

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