Announcement

Collapse
No announcement yet.

Insteon polling generates lots of device change callbacks

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

    Insteon polling generates lots of device change callbacks

    I had device polling enabled (At statup) for several devices using plugin version 3.0.4.10 which generates device change callbacks sent to subscribers such as HSTouch. The reason for what's changed is "Status_Support, Dev_Type_String, DeviceType (see screenshot)" and one callback is generated per device that is polled.

    The side effect for HSTouch s that it can keep it very busy (see attached screenshot) as it is attempting to refresh device configurations to the point that HSTouch becomes unusable (cannot connect from clients or designer). See http://bugzilla.homeseer.com/bugzill...ug.cgi?id=1984 for additional details. I "Disable automatic polling" in the Insteon polling and that made it much better.

    Can a future update of the plugin support polling without generating device configuration changes? Thanks
    Attached Files

    #2
    Originally posted by pcp View Post
    Can a future update of the plugin support polling without generating device configuration changes? Thanks
    what do you mean by "device configuration changes"?

    the polling updates the device value if it has changed. the plugin doesn't change any device properties or other settings

    i might suggest changing the frequency of the polling for the devices.
    Mark

    HS3 Pro 4.2.19.5
    Hardware: Insteon Serial PLM | AD2USB for Vista Alarm | HAI Omnistat2 | 1-Wire HA7E | RFXrec433 | Dahua Cameras | LiftMaster Internet Gateway | Tuya Smart Plugs
    Plugins: Insteon (mine) | Vista Alarm (mine) | Omnistat 3 | Ultra1Wire3 | RFXCOM | HS MyQ | BLRadar | BLDenon | Tuya | Jon00 Charting | Jon00 Links
    Platform: Windows Server 2022 Standard, i5-12600K/3.7GHz/10 core, 16GB RAM, 500GB SSD

    Comment


      #3
      What I mean by device configuration changes are calling the plugins API HSEvent() for plugins that registered via a call to RegisterEventCB for event type CONFIG_CHANGE (32) which HSTouch does. When I enable polling of devices in the Insteon plugin (from the plug-in web page), it generates device change callbacks upon each poll with the reasons as I mentioned in my prior poll. If you have a plugin that registers for CONFIG_CHANGE callbacks and does not have to be HSTouch you should see these callbacks (I tried it with one of my callbacks to just log the details of the callback arguments).

      When I disable polling in the Insteon plugin, these callbacks are not triggered including when an Insteon device changes value either from HS3 or via its local switch. It is something very specific to the polling performed by the plugin.

      I would be happy to provide further diagnostics if desired.

      Comment


        #4
        do you have any detailed logs from the insteon plugin that show a entry you might suspect is generating this call back.

        as far as i can tell during polling all the plugin does is call hs.setdevicevalue or some variation.

        the plugin does make device config changes during startup, but i don't think that is your issue.
        Mark

        HS3 Pro 4.2.19.5
        Hardware: Insteon Serial PLM | AD2USB for Vista Alarm | HAI Omnistat2 | 1-Wire HA7E | RFXrec433 | Dahua Cameras | LiftMaster Internet Gateway | Tuya Smart Plugs
        Plugins: Insteon (mine) | Vista Alarm (mine) | Omnistat 3 | Ultra1Wire3 | RFXCOM | HS MyQ | BLRadar | BLDenon | Tuya | Jon00 Charting | Jon00 Links
        Platform: Windows Server 2022 Standard, i5-12600K/3.7GHz/10 core, 16GB RAM, 500GB SSD

        Comment


          #5
          I will collect them and post when i get back home on sunday

          Comment


            #6
            I disabled all plugins, restarted HS3, started my SNMP plugin, and then started the Insteon plugin. Last time I shutdown the Insteon plugin, I enabled device polling and detailed logging. I modfied my SNMP plugin disabling any of its functionality and only used it to register for config change event callbacks [via a call to RegisterEventCB for event type CONFIG_CHANGE (32)] and log a message to the HS3 log each time HSEvent() is called. The log message includes the argument details of the HSEvent callback. In the attached log you will see the Insteon processing and ten the CONFIG_CHANGE callbacks (from SNMP) plugin. Note that if I "Disable automatic polling" in the Insteon plugin, these Change Config do not appear (including when I toggle an Insteon switch or turn the light on/off from HS3).
            Attached Files

            Comment


              #7
              what about if scheduled polling is disabled and you manually poll a device from the dev mgmt page? do you still get the hsevent callbacks?

              these callbacks are triggered by changes to a deviceclass object. I'm sure I don't make any changes like this during polling. I do call hs.setdevicestatus and hs.setdevicevalueex but that is about it.
              Mark

              HS3 Pro 4.2.19.5
              Hardware: Insteon Serial PLM | AD2USB for Vista Alarm | HAI Omnistat2 | 1-Wire HA7E | RFXrec433 | Dahua Cameras | LiftMaster Internet Gateway | Tuya Smart Plugs
              Plugins: Insteon (mine) | Vista Alarm (mine) | Omnistat 3 | Ultra1Wire3 | RFXCOM | HS MyQ | BLRadar | BLDenon | Tuya | Jon00 Charting | Jon00 Links
              Platform: Windows Server 2022 Standard, i5-12600K/3.7GHz/10 core, 16GB RAM, 500GB SSD

              Comment


                #8
                I just tried your suggestion to poll all Insteon devices from the e mgmt page and I do not see HSEvent callbacks.

                Comment


                  #9
                  all of the config changes you are referring to seem to come after the following insteon log msg

                  "..Finished Scheduled Polling for x devices."

                  am i reading this wrong?
                  Mark

                  HS3 Pro 4.2.19.5
                  Hardware: Insteon Serial PLM | AD2USB for Vista Alarm | HAI Omnistat2 | 1-Wire HA7E | RFXrec433 | Dahua Cameras | LiftMaster Internet Gateway | Tuya Smart Plugs
                  Plugins: Insteon (mine) | Vista Alarm (mine) | Omnistat 3 | Ultra1Wire3 | RFXCOM | HS MyQ | BLRadar | BLDenon | Tuya | Jon00 Charting | Jon00 Links
                  Platform: Windows Server 2022 Standard, i5-12600K/3.7GHz/10 core, 16GB RAM, 500GB SSD

                  Comment


                    #10
                    Yes you are correct based on the log, the HSEvent callback seems to be related to "..Finished Scheduled Polling for x devices."

                    Comment


                      #11
                      i really don't know what's going on here. the plugin doesn't make any dv deviceclass changes during polling

                      can you capture some more detail about the callbacks. for example the before and after values that are available, etc

                      i do register for my callbacks
                      callback.RegisterEventCB(Enums.HSEvent.CONFIG_CHANGE, IFACE_NAME, Instance)
                      Mark

                      HS3 Pro 4.2.19.5
                      Hardware: Insteon Serial PLM | AD2USB for Vista Alarm | HAI Omnistat2 | 1-Wire HA7E | RFXrec433 | Dahua Cameras | LiftMaster Internet Gateway | Tuya Smart Plugs
                      Plugins: Insteon (mine) | Vista Alarm (mine) | Omnistat 3 | Ultra1Wire3 | RFXCOM | HS MyQ | BLRadar | BLDenon | Tuya | Jon00 Charting | Jon00 Links
                      Platform: Windows Server 2022 Standard, i5-12600K/3.7GHz/10 core, 16GB RAM, 500GB SSD

                      Comment


                        #12
                        I will try to collect additional details this weekend.

                        Comment

                        Working...
                        X