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

How to determine a device's brand, and version


Question

Posted

Hello

Is there any data, that can determine, what brand is the device of, and what version does it have, using ani API call?

I can't find any reliable informtion in device structure JSON. There is a manufacturer property but it is mostly empty, and on other hand, even if it was properly filled, how to know what is the version?

I am not giving too much hope into this, but maybe someone know a hack around this.

I need to find out, for example, id it is a Aeotec multilevel sensor, and if so, wht version it is..3,6 or 7..

I think this is not gonna be possible right?

@m.roszak Maybe Michael can you point me to the right direction?

13 answers to this question

Recommended Posts

  • 0
Posted

The "productInfo" property is a string related to the device fingerprint, it contains ManufacturerID, ProductID, ProductIDType, and Z-Wave firmware version. 
A catalogue of certified devices is available on Z-Wave Alliance page. 

  • Thanks 1
  • 0
  • Inquirer
  • Posted
    4 hours ago, m.roszak said:

    The "productInfo" property is a string related to the device fingerprint, it contains ManufacturerID, ProductID, ProductIDType, and Z-Wave firmware version. 
    A catalogue of certified devices is available on Z-Wave Alliance page. 

    @m.roszak Michal, a little more support is needed ..

     

    This is the product info of a Fibaro plug

     

    "productInfo": "1,15,6,2,16,3,3,2",

     

    And this is in the Zwave catalog

     

    How to decode this into humand readable format?

     

    What means what?

     

    Please login or register to see this image.

    /monthly_2024_09/image.png.6fa0e3a286a229909429877dba7fd02c.png" />

     

    • 0
    Posted (edited)
    On 9/16/2024 at 7:01 PM, Neo Andersson said:

    "productInfo": "1,15,6,2,16,3,3,2",

     

    And this is in the Zwave catalog

     

    How to decode this into humand readable format?

     

    AFAIK a FULL solution to do this in Lua was never posted. But I can help you to get started. Run this lua code as a script (anywhere, eg on your pc or mac or whatever):

     

    Please login or register to see this code.

     

    Then look at an open source database, like this one:

     

    Please login or register to see this link.

     

    You will find a subdirectory "0x010F" which means "Fibaro" aka "Fibargroup".

     

    Please login or register to see this link.

     

    In this directory you will find a bunch of json files:

     

    ... fgbs001.json fgk101.json fgrm222_0_24.23.json fgss001.json ... and so on...

     

    If you search in those files you will find a file that matches the ProductType ID ) 0x0602 it is in "fgwp102.json"

     

    To be exact, your search will match a json field: "productType": "0x0602"

     

    Now I know that product is a "fgwp102" manufactured by "Fibargroup" and is on firmware 3.2

     

    If you read the json file you get a lot more info eg a nice representation of all the parameters applicable to this device:

     

    Please login or register to see this code.

     

    Edited by petergebruers
    Typo
    • Thanks 1
    • 0
  • Inquirer
  • Posted

    Thank you Peter..

    Actually i found that the first 6 positions in productinfo will define me the device / as i dont need the FW versions..

    At least it seems to be consistant..

     

    • 0
    Posted
    3 hours ago, Neo Andersson said:

    Actually i found that the first 6 positions in productinfo will define me the device / as i dont need the FW versions..

    Yes, you will be able to identify > 99% of all devices by looking at the first 6 numbers and ignoring the firmware version. But some devices have *different* parameters depending on the firmware version. An example from the top of my memory is the Aeotec MS6.

    • 0
  • Inquirer
  • Posted

    Yes a realized that. Thank you Peter for the assistance..

    • 0
  • Inquirer
  • Posted (edited)

    @petergebruers Peter, one thing i need to resolve..If the device does not have parameter template, it seems to me, that parameter modification from LUA doesn't work. Do you have any idea how to get around this?

    Edited by Neo Andersson
    • 0
    Posted
    1 hour ago, Neo Andersson said:

    it seems to me, that parameter modification from LUA doesn't work. Do you have any idea how to get around this?

    I don't know how to modify from lua when the HomeCenter does not have a "parameter definition" for your specific device. What I do (as a end-user) is (1) find the manual of the device (2) switch of the template in the HC browser ui (3) add all the parameters listed from the manual (and "read" them, there is a checkbox for that IIRC but I do not have a HC running at the moment, I cannot check for you). After that, the lua code to change parameters will work, because the HC does not care if the parameters are in a template or if they are defined by the user. I never tried to automate this process...

    • 0
  • Inquirer
  • Posted
    1 hour ago, petergebruers said:

    I don't know how to modify from lua when the HomeCenter does not have a "parameter definition" for your specific device. What I do (as a end-user) is (1) find the manual of the device (2) switch of the template in the HC browser ui (3) add all the parameters listed from the manual (and "read" them, there is a checkbox for that IIRC but I do not have a HC running at the moment, I cannot check for you). After that, the lua code to change parameters will work, because the HC does not care if the parameters are in a template or if they are defined by the user. I never tried to automate this process...

    Yeas i know that...unfortunatelly this is not what we want..We created a quickapp, that will automatically search for selected brand, and fins all devices of that brand. When it finds these devices, it shows you all available parameters, and user can set them. After that by one button press it will set the adjusted parameters on all devices of that type across entire system. This is working like a charm, if device has a template, if not, it fails..Anyway, even if it works only with devices that have template it is a huge help for us. Like we had an installation where customer had 47 RGBW devices. And we had to set some parameters (power reporting, and so on) to some values, to reduce the unnecessary zwave traffic, so we did it on be one, using the copy button on each device. Now with this quickapp it is one click..So thank you for all the help.

    • Like 1
    • 0
    Posted
    2 hours ago, Neo Andersson said:

    Yeas i know that...unfortunatelly this is not what we want..We created a quickapp, that will automatically search for selected brand, and fins all devices of that brand. When it finds these devices, it shows you all available parameters, and user can set them. After that by one button press it will set the adjusted parameters on all devices of that type across entire system. This is working like a charm, if device has a template, if not, it fails..Anyway, even if it works only with devices that have template it is a huge help for us. Like we had an installation where customer had 47 RGBW devices. And we had to set some parameters (power reporting, and so on) to some values, to reduce the unnecessary zwave traffic, so we did it on be one, using the copy button on each device. Now with this quickapp it is one click..So thank you for all the help.

     

    on device without template have you tried to first send this for each parameter? Then the parantere value will show after, in the api get device call 🤔 -1 cant be set, so the device seems to respond with the value it has stored instead :)
     

    hub.call(smartimplant,"setConfiguration",20,1,-1)

     

     

     

     

     

    • Like 1
    • 0
  • Inquirer
  • Posted
    7 minutes ago, Brors94 said:

     

    on device without template have you tried to first send this for each parameter? Then the parantere value will show after, in the api get device call 🤔 -1 cant be set, so the device seems to respond with the value it has stored instead :)
     

    hub.call(smartimplant,"setConfiguration",20,1,-1)

     

     

     

     

     

    I will try thanks

    • 0
  • Inquirer
  • Posted
    1 hour ago, Neo Andersson said:

    I will try thanks

    Actually it seems that it is working on devices without template..so no need to send -1...I was missleaded becuase i tried to set paramter on a batery powered device, and those need to wait for wakeup...so it is working normaly on devices wirhour template, but thanks anyway

    • Like 2
    • 0
    Posted
    22 minutes ago, Neo Andersson said:

    Actually it seems that it is working on devices without template..so no need to send -1...I was missleaded becuase i tried to set paramter on a batery powered device, and those need to wait for wakeup...so it is working normaly on devices wirhour template, but thanks anyway

    Aha :D Good to know 😄

     

     

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