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

Nasty bug with periodic reports in smart implant?


Garfield77

Question

Greeting everyone,

 

I 've got stuck with the strange behavior of smart implant which I couldn't explain other as a bug. I have Z-Stick from Aeotec and wanted to configure my smart implant to send periodic reports from smart implant by schedule (every 60 seconds). So, I've changed the configuration parameter 66 to 60 as it stated in documentation and started to wait.... After a while nothing happens. The same time when I ask multisensor to send me a temperature report, I can get it without any problem. So, I tried to experiment with another automated reports. I have configured automated reports about voltage level on IN1 & IN2, this doesn;'t work.... I have attached external temperature senor and asked to send automatic reports from their - doesn't work. However when I am trying to read it directly from corresponding sensors - everything working fine but no automatic reports at all. The same time when I am using Aeotec Multisensor I can easily to see updates from all 4 internal sensors.

 

Does anybody faced with the same behavior?  IMHO, either I am doing something completely wrong and Fibaro have to provide better documentation or this is a strange bug in the device. I have sent my escalations to Fibaro but didn't get any news yet.

 

I am not using any home automation software, just only Z-Wave PC Controller 5 from Sigma Design. This allows me to send commands on a low level which completely exclude any potential issues in mappings of UI with real commands have to be sent to device.

Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 0

I don't own one so this is a stab in the dark. What associations did you set? I would say you need a multichannel association to 1.0. Also note there is a fw 5.1, but you need a homecenter to update. That's all I can think of right now. I'm out.

Link to comment
Share on other sites

  • 0
  • Inquirer
  • Hi, I am using the latest version. Also I have checked associations, lifeline as well as other groups have NodeID = 1 assigned.

     

    Quote

     I would say you need a multichannel association to 1.0.

     

    Can you explain what did you mean?

    Link to comment
    Share on other sites

    • 0
    27 minutes ago, Garfield77 said:

    Can you explain what did you mean?

    Not really in great detail because I will be unavailable for a while for personal reasons, but here is a a hint: In PC controller you use "Mutli Channel Association" then craft a packet to Node 1 and End Point 0 for group 1 (lifeline). If you've used "association" instead of MutliChannel you haven't been able to add that End Point.

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Please take a look at attached image, I hope that understood you right :) I did this, it also doesn't work. Will try to exclude the implant and set it back to factory defaults, may after this it would work.

     

     

     

    Please login or register to see this attachment.

    Link to comment
    Share on other sites

    • 0

    That's the right CC and screen but I notice under vg you've added node "2" instead of "1". I suppose your controller is node 1, so on the left side of the screen you select node 2 (correct) then on the right you want to set Group 1 to node 1 (because that is where you want the module to send data to) endpoint 1 or 0 (try both). Then read back the groups (.. GET) and see what that module has stored.

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • hi petergebruers,

     

    Yes, you was right the problem was in Multi Channel Associations (MCA). Finally I made it working, but really do not understand why and how it should normally work. 

     

    First of all, when I've tried to assign association for EP 0/Group 1 till controller, I've got "application rejected" back. So, I decided may be this is because I already have association from EP0/Group1 to Node = 1 and tried to delete it. I wasn't able to do it through CC MCA, so have to go to "Associations" menu and was able to delete it from there. Then I tried to assign a new one without any luck. I tried all possible combinations but nothing helps. After that I decided to set up association from EP1/Group1 to Node 1 and this also didn't work. I got this only working by assigning EP0/Group2  to Node 1 or EP1/Group2 to Node 1. Seems like it is not possible to assign anything to group "lifeline" through CC MCA while it is possible to do through menu "Associations".

     

    After this I downloaded HomeSeer just to see how to manage associations from there. HS3 wasn't able to correctly recognize the device with all sensors, etc but was able to correctly see all endpoints. So with help of HS3 I could make it working by assigning EP1/Group 1 to node id 1 just because it doesn't have EP 0 in the list. And after that started to get reports from all available sensors:

    • Internal temperature (connected to EP7)
    • External temperature (connected to EP8)
    • Voltage sensor from IN1 (connected to EP3)
    • Voltage sensor from IN2 (connected to EP4)

    Attached picture shows the associations visible in PC Controller at the moment. This is a good news but leaves me a lot of "why's". The controller (node 1) doesn't have any other endpoints rather than 0, so why it is working with configuration 1.1? Actually I tried the other EPs from 2 till 8, it still working. However when I try to use just 1 (which equivalent to 1.0 I guess) it doesn't work. Also it some kind of mystery why it is not possible to assign anything to lifeline through CC MCA like it should be. I will be appritiated for any ideas from you side, because Fibaro support keeps a silence about a week.

     

    Please login or register to see this attachment.

    Link to comment
    Share on other sites

    • 0

    The details are a bit complex but the reason is quite simple. A long time ago... "multi channel" and "endpoints" did not exist. A device could support different CC's like "switch" and "sensor". But only one of them. Impossible to make a double relay! Z-Wave evolved and the engineers added "multi instance aka multi channel encapsultion". It is a CC with three parts: source ep, destination ep, and the command class. Now you can make double relays, because you can add "switch" to two endpoints. But... the older devices don't underdestand multichannel. So for backwards compatibility you also have a "switch" CC that usually represents the first relay. That double relay presents itself as 3 relays, for backwards compatibility. They also made a similar change for groups (aka associations). Without MCA, you can only tell a module to turn on the "root" of another module. MC Assoc solves that: you can eg associate a wall plug with the second relay of a double relay like this: "7.2". The means: send data to node 7, endpoint 2

    Link to comment
    Share on other sites

    • 0

    Forgot to talk about your controller association. Your controller is like that "double relay" (see previous post) and if you want a module to send data to that controller (eg status or temp updates) you have to set a group (lifeline in Z-Wave Plus). By using MC Assoc "1.1" you tell that module "node one supports endpoints". The actual endpoint doesn't really matter but some devices expect "1.1" or "1.0" - the Z-Wave spec has a confusing explanation. I also tried "bogus" endpoints on some modules a while ago and it does not matter. Al it does is tell that module "node 1 understands endpoints". If you use single channel association, the module thinks that other node (your controller) does not understand endpoints. It then can only send data from "root", not endpoints.

     

    If you want more info I can post some references to the docs next week.

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Hi, thank for such useful information! This gives some light but I still have a couple of questions. By default, after inclusion, smart implant has node 1 assigned to group lifeline of any endpoint. Does it mean that such association was added by smart implant which didn't know that controller supports multiple endpoints and did it though regular associations (not through CC MCA)? So if I would be able to manage lifeline group through CC MCA by adding Node 1 (EP 0), I could see 1.0 instead of just 1?

     

    Quote

    backwards compatibility you also have a "switch" CC that usually

     

    Do you mean CC MCA?

     

    Quote

    If you want more info I can post some references to the docs next week.

     

    Would be really appreciated, thank you in advance!

    Link to comment
    Share on other sites

    • 0
    17 hours ago, Garfield77 said:

    By default, after inclusion, smart implant has node 1 assigned to group lifeline of any endpoint. Does it mean that such association was added by smart implant which didn't know that controller supports multiple endpoints and did it though regular associations (not through CC MCA)?

    To answer that with 100% certainty you or me have to look at the source code of PC Controller, which is available "somewhere" on the Silabs site. I have it on my laptop but don't have my laptop...

     

    But maybe an educated guess is enough? The association is not set by the protocol, it is set by the program. I am a OpenZWave contributor and I can tell you where it sets "1.1", 99% sure it is in Node.cpp - I can tell you more if you give me some time. Github website on large files on my phone is too slow ;)

     

    17 hours ago, Garfield77 said:

    Do you mean CC MCA?

     

    You can see it this way: you always have CCs that do not exist on endpoints. If one of them is multichannel cc, then you have a multichannel device. Then you have to "interview" the device to discover its capabilities.

     

    An example of a modern device that can work single channel (having only "1" as single channel assoc in lifeline) is Aeotec Multisensor 6. Because the 6 sensors are different and can be handled with one class (little white lie, it also uses Notification CC for alarm status).

     

    Please login or register to see this link.

     

    Because the MS6 lacks MC assoc CC, it cannot control the 2nd relay of a double relay (unless that relay module has a parameter to select which relay maps to "root" - which is rare)

     

    The Fibaro FGMS-001 does have multichannel and MC assoc:

     

    Please login or register to see this link.

     

    This one has MCA, this means it can control the 2nd relay of a double relay

     

    Similar devices.… different implementation...

     

    I'll send links to docs next week.

    Link to comment
    Share on other sites

    • 0

    Hello,

     

    I have a comparable problem.

    the Smart Implant has successfully registered to my Z-Stick.

    However, I just use Z-Stick in combination with Node-Red to do home automation including Z-wave, which works fine with Aeotec Motion detectors. However, I have problem with the Smart Implant.

     

    When I click 3x on the button, I see incoming messages. However, even after changing the reporting period, nothing comes in.

    I am pretty new to Z-wave. I read above that it has something to to with MultiChannel / Associations. However I don't see how I can configure any of this using node-red.

     

    I can change parameters on the implant by for example sending the following message through the z-wave node-out

    msg.payload={nodeid: 9,cmdclass: 112,cmdidx: 68,value:60}

    Node9 is the Fibaro Smart Implant.

    However I have no idea how to change multichannel stuff and/or associations. Is this also a configuration parameter of the Smart Implant, or is this something specific for the Controller (Z-Stick)? 

     

    Any help would be greatly appreciated

     

     

    thanks

     

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Hello PatrickVDB, 

     

    I am not an expert in Node-Red so I can't say why it is not working for you. However, looking at your symptoms I think you have the same issue as me. As I mentioned, I am not using any Home Controller like Node-Red, I am trying to configure the device on low-level by sending commands directly to controller and everything is working right except the associations. I think that Node-Red should have a way how to do it, the question is does it help you or not. After have been waiting for a while an answer on my question from support was "thank you, this is know problem, we are working on it" :) As I mentioned above by some miracle I was able to correctly setup associations with help of Home Seer 3 but I really couldn't understand how it could do it. So finally I gave up since the device now is working properly and until next exclusion / inclusion should work fine.

     

    Alexander 

     

    P.S. Curious how triple click on internal button could help you with getting notifications, because triple clicks are using to include or exclude device to the network. 

    Link to comment
    Share on other sites

    • 0
    If that can help... On the platform I use, I got  the periodic reports and multichannel working properly by sending these commands to the smart implant:
     
    Remove previous associations:
     
            zwave.associationV2.associationRemove(groupingIdentifier: 1, nodeId: 1),
            zwave.associationV2.associationRemove(groupingIdentifier: 2, nodeId: 1),
            zwave.associationV2.associationRemove(groupingIdentifier: 3, nodeId: 1),
            zwave.multiChannelAssociationV2.multiChannelAssociationRemove(groupingIdentifier: 1, nodeId: [1]),
            zwave.multiChannelAssociationV2.multiChannelAssociationRemove(groupingIdentifier: 2, nodeId: [1]),
            zwave.multiChannelAssociationV2.multiChannelAssociationRemove(groupingIdentifier: 3, nodeId: [1]),
     
    Add new associations:
     
            zwave.multiChannelAssociationV2.multiChannelAssociationSet(groupingIdentifier: 1, nodeId: [0,1,1])
            zwave.multiChannelAssociationV2.multiChannelAssociationSet(groupingIdentifier: 2, nodeId: [0,1,1])
            zwave.multiChannelAssociationV2.multiChannelAssociationSet(groupingIdentifier: 3, nodeId: [0,1,2])
     
    Which translates to:
     
        85040101
        85040201
        85040301
        8E0401
        8E0402
        8E0403
     
        8E0101000101
        8E0102000101
        8E0103000102
     
    Also, the outputs can be decoupled from the inputs using the protection command class and setting local protection to "2"
     
    Edited by chris999
    • Like 1
    Link to comment
    Share on other sites

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