Announcement

Collapse
No announcement yet.

Device parent/child relationships

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Device parent/child relationships

    It appears that some plugins are not setting up devices properly. Build 3.0.0.505 and later of HS3 will now perform a check on startup and check to make sure all devices are configured properly and log a warning on any errors. Parent (root) devices that have children need to reference all children in the AssociatedDevices property. Each child needs to include a single associated device which is the parent (root) device. In a future build of HS3 we will be enforcing this relationship and will be"fixing" the relationship if its incorrect. Please make sure your devices are configured properly. You can run build 505 or later and see if there are any errors.

    See the HS3 Plug-in Developer Doc on Working with HomeSeer Mobile: https://help.homeseer.com/help/HS3SD...omeseer_mobile
    💁‍♂️ Support & Customer Service 🙋‍♂️ Sales Questions 🛒 Shop HomeSeer Products

    #2
    When will Build 3.0.0.505 be released?

    I think I may have a plugin installed that might fall into this category. Many of the devices dont show on the "Status Page" but they do show on the "Device Management" page. The battery device shows, but the "motion" device wont show on the Status Page.

    Does this sound like a symptom of the parent/child topic?

    HomeSeer Version: HS3 Pro Edition 3.0.0.500
    Operating System: Microsoft Windows 10 Pro - Work Station
    System Uptime: 0 Days 0 Hours 20 Minutes 46 Seconds
    IP Address: 192.168.x.x
    Number of Devices: 227
    Number of Events: 38
    Available Threads: 400
    HSTouch Enabled: True
    Event Threads: 1
    Event Trigger Eval Queue: 0
    Event Trigger Priority Eval Queue: 0
    Device Exec Queue: 0
    HSTouch Event Queue: 0
    Email Send Queue: 0
    Anti Virus Installed: Windows Defender
    In Virtual Machine: No MFG: msi
    Enabled Plug-Ins
    2.0.59.0: BLBackup
    2.0.140.0: BLRadar
    2.0.95.0: BLRF
    1.0.4.0: BLShutdown
    2.0.84.0: BLStat
    2.0.3.0: JowiHue
    3.0.0.93: weatherXML
    3.0.1.252: Z-Wave

    Comment


      #3
      Will,be posting an update soon, for now you can load build 507 posted here if you want:
      https://forums.homeseer.com/forum/ul...e3#post1284620

      Originally posted by mikepetro View Post
      When will Build 3.0.0.505 be released?

      I think I may have a plugin installed that might fall into this category. Many of the devices dont show on the "Status Page" but they do show on the "Device Management" page. The battery device shows, but the "motion" device wont show on the Status Page.

      Does this sound like a symptom of the parent/child topic?

      HomeSeer Version: HS3 Pro Edition 3.0.0.500
      Operating System: Microsoft Windows 10 Pro - Work Station
      System Uptime: 0 Days 0 Hours 20 Minutes 46 Seconds
      IP Address: 192.168.x.x
      Number of Devices: 227
      Number of Events: 38
      Available Threads: 400
      HSTouch Enabled: True
      Event Threads: 1
      Event Trigger Eval Queue: 0
      Event Trigger Priority Eval Queue: 0
      Device Exec Queue: 0
      HSTouch Event Queue: 0
      Email Send Queue: 0
      Anti Virus Installed: Windows Defender
      In Virtual Machine: No MFG: msi
      Enabled Plug-Ins
      2.0.59.0: BLBackup
      2.0.140.0: BLRadar
      2.0.95.0: BLRF
      1.0.4.0: BLShutdown
      2.0.84.0: BLStat
      2.0.3.0: JowiHue
      3.0.0.93: weatherXML
      3.0.1.252: Z-Wave
      💁‍♂️ Support & Customer Service 🙋‍♂️ Sales Questions 🛒 Shop HomeSeer Products

      Comment


        #4
        Rich, Is this the correct way?

        Code:
                            parent.set_Relationship(HS, HomeSeerAPI.Enums.eRelationship.Parent_Root);
                            parent.AssociatedDevice_Add(HS, device.get_Ref(null));
        
                            device.set_Relationship(HS, HomeSeerAPI.Enums.eRelationship.Child);
                            device.AssociatedDevice_Add(HS, parent.get_Ref(null));

        Comment


          #5
          Yes, that is correct.

          Originally posted by sirmeili View Post
          Rich, Is this the correct way?

          Code:
          parent.set_Relationship(HS, HomeSeerAPI.Enums.eRelationship.Parent_Root);
          parent.AssociatedDevice_Add(HS, device.get_Ref(null));
          
          device.set_Relationship(HS, HomeSeerAPI.Enums.eRelationship.Child);
          device.AssociatedDevice_Add(HS, parent.get_Ref(null));
          💁‍♂️ Support & Customer Service 🙋‍♂️ Sales Questions 🛒 Shop HomeSeer Products

          Comment


            #6
            The original post has been updated to include a link to a relevant developer doc.

            Comment


              #7
              Originally posted by JLDubz View Post
              The original post has been updated to include a link to a relevant developer doc.
              Just a side note.....great job on that documentation. We need more/better developer documentation like that

              Comment


                #8
                rjh
                Is this the correct VB.NET syntax? Mine looks a little different than the C# code above:

                Code:
                ''dvp is the parent, dv is the child device
                
                dvp.AssociatedDevice_Add(hs, ref)
                dv.AssociatedDevice_ClearAll(hs)
                dv.AssociatedDevice_Add(hs, dvp.Ref(hs))
                
                dv.Relationship(hs) = Enums.eRelationship.Child
                dvp.Relationship(hs) = Enums.eRelationship.Parent_Root
                HS4Pro on a Raspberry Pi4
                54 Z-Wave Nodes / 21 Zigbee Devices / 108 Events / 767 Devices
                Plugins: Z-Wave / Zigbee Plus / EasyTrigger / AK Weather / OMNI

                HSTouch Clients: 1 Android

                Comment


                  #9
                  Originally posted by sirmeili View Post

                  Just a side note.....great job on that documentation. We need more/better developer documentation like that
                  Thanks!

                  As my time permits, I will be working on as much documentation as I can to make sure we are all on the same page so we can provide the users with the best experience possible. If there is something that you are interested in learning more about, or need some clarification on, with regards to HomeSeer Mobile and how the two systems are working with one another, drop me a line. The more I have to explain things, the more reason I have to dedicate time to compiling a doc for the subject to share.

                  Thanks again.

                  Comment


                    #10
                    Originally posted by JLDubz View Post

                    Thanks!

                    As my time permits, I will be working on as much documentation as I can to make sure we are all on the same page so we can provide the users with the best experience possible. If there is something that you are interested in learning more about, or need some clarification on, with regards to HomeSeer Mobile and how the two systems are working with one another, drop me a line. The more I have to explain things, the more reason I have to dedicate time to compiling a doc for the subject to share.

                    Thanks again.
                    In general, we need more and better communications that might affect us developers (not just from mobile). I think you all have our emails so maybe set up an email distro with an update before releases letting us know what might change in the up coming versions. This could be super helpful and save everyone a lot of headaches

                    Comment


                      #11
                      Originally posted by sirmeili View Post

                      In general, we need more and better communications that might affect us developers (not just from mobile). I think you all have our emails so maybe set up an email distro with an update before releases letting us know what might change in the up coming versions. This could be super helpful and save everyone a lot of headaches
                      Thanks for your feedback. We have actually just started exactly that: https://homeseer.com/developer-support/

                      Comment


                        #12
                        Originally posted by JLDubz View Post

                        Thanks for your feedback. We have actually just started exactly that: https://homeseer.com/developer-support/
                        Thank you for that! I immediately subscribed!

                        Comment


                          #13
                          So question. This is with .528

                          The following does nothing and I continue to get the warnings about not referencing a parent.

                          Code:
                           
                          _root.AssociatedDevice_Add(_hs, _childDeviceReference);
                          _child.AssociatedDevice_Add(_hs, _rootDeviceReference);
                          The parent/child relationship is created just fine but the child relationship back to the parent is not created nor are there any errors, warnings, nothing... just nothing.

                          Comment


                            #14
                            Originally posted by Simplex Technology View Post
                            So question. This is with .528

                            The following does nothing and I continue to get the warnings about not referencing a parent.

                            Code:
                            _root.AssociatedDevice_Add(_hs, _childDeviceReference);
                            _child.AssociatedDevice_Add(_hs, _rootDeviceReference);
                            The parent/child relationship is created just fine but the child relationship back to the parent is not created nor are there any errors, warnings, nothing... just nothing.
                            Do you also do the following (this is VB, not C, so adjsut accordingly):

                            Code:
                                                rdv.Relationship(hs) = Enums.eRelationship.Parent_Root
                                                cdv.Relationship(hs) = Enums.eRelationship.Child
                            HS 4.2.8.0: 2134 Devices 1252 Events
                            Z-Wave 3.0.10.0: 133 Nodes on one Z-Net

                            Comment


                              #15
                              Originally posted by sparkman View Post

                              Do you also do the following (this is VB, not C, so adjsut accordingly):

                              Code:
                               rdv.Relationship(hs) = Enums.eRelationship.Parent_Root
                              cdv.Relationship(hs) = Enums.eRelationship.Child
                              Yes. That is done in a generic method that creates the device, sets basic things, sv pairs etc and returns the device ref. Once successfully created I then add the relationship... which is not working.

                              Comment

                              Working...
                              X