[Solved] Hubitat Hub Information Driver v3 and probe device
-
SweetGeniuswrote on Feb 12, 2023, 12:15 AM last edited by SweetGenius Feb 21, 2023, 7:36 AM
I have upgraded my Hubitat Hub Information Driver to v3 and after the latest MSR update latest-23028 MSR is working ok. The problem is when MSR probes the device it appears to affect the polling in the new Hub Information Device and its data does not update the data fields in Hubitat. If I remove the Hub Information Device from Maker API so MSR can't see it, The Hub information driver updates the data as expected in Hubitat. I added the device back into Maker API the same problem returns in Hubitat. I have tried to have MSR probe a different device by adding a different probe device and probe action in the reactor.yaml per the documentation but it appears then it still uses the Hub Information Device as the probe device instead of the one specified in the reactor.yaml. See Logs below. Is this the intended behavior to always use the Hub Information Driver if found and not use the device in the reactor.yaml file? Any recommendations on how to get MSR and the v3 of the driver to work correctly or can you see what I am doing wrong?
[latest-23028]2023-02-11T23:27:50.471Z <Controller:NOTICE> Controller HassController#hass is now online. [latest-23028]2023-02-11T23:27:50.471Z <Rule:INFO> Internet Check (rule-l44qss4f in Home) starting evaluation; because entity-changed System#reactor_system>system [latest-23028]2023-02-11T23:27:50.471Z <Rule:INFO> MSR Update Version Available (rule-labweim2 in Notify) starting evaluation; because entity-changed System#reactor_system>system [latest-23028]2023-02-11T23:27:50.472Z <Rule:INFO> Internet Check (rule-l44qss4f in Home) trigger evaluation result is false (previously false) [latest-23028]2023-02-11T23:27:50.472Z <Rule:INFO> Internet Check (rule-l44qss4f in Home) evaluated; trigger state unchanged (false); rule state remains RESET [latest-23028]2023-02-11T23:27:50.472Z <Rule:INFO> MSR Update Version Available (rule-labweim2 in Notify) trigger evaluation result is false (previously false) [latest-23028]2023-02-11T23:27:50.472Z <Rule:INFO> MSR Update Version Available (rule-labweim2 in Notify) evaluated; trigger state unchanged (false); rule state remains RESET [latest-23028]2023-02-11T23:27:50.472Z <Rule:INFO> Internet Check (rule-l44qss4f in Home) evaluation complete [latest-23028]2023-02-11T23:27:50.472Z <Rule:INFO> MSR Update Version Available (rule-labweim2 in Notify) evaluation complete [latest-23028]2023-02-11T23:27:50.673Z <HubitatController:INFO> HubitatController#hubitat Maker API responded with 91 devices [latest-23028]2023-02-11T23:27:50.766Z <HubitatController:INFO> HubitatController#hubitat found 'Hub Information Driver v3' device #"481"; using for probe/health checks. [latest-23028]2023-02-11T23:27:50.780Z <Controller:INFO> HubitatController#hubitat 0 dead entities older than 86400000s purged [latest-23028]2023-02-11T23:27:50.780Z <Rule:INFO> Roku Pause (rule-l3nlrzu9 in Home) starting evaluation; because entity-changed BinarySensor#hubitat>519 [latest-23028]2023-02-11T23:27:50.780Z <Rule:INFO> Stairs Light Low Light (rule-kulslls9 in Living Room) starting evaluation; because entity-changed BinarySensor#hubitat>519 [latest-23028]2023-02-11T23:27:50.780Z <Rule:INFO> Porch Motion Extended check (rule-l3kr45m8 in Porch) starting evaluation; because entity-changed BinarySensor#hubitat>519 [latest-23028]2023-02-11T23:27:50.780Z <Rule:INFO> Porch Light Manual On (rule-kmtxw155 in Porch) starting evaluation; because entity-changed BinarySensor#hubitat>519
Snippet from the reactor.yaml:
# action_pace: 100 # warn_unresponsive: true # probe_device: hubitat>132 (not needed if Hub Information app installed) probe_device: hubitat>2 # probe_action: x_hubitat_Configuration.configure (not needed if Hub Information app installed) probe_action: x_hubitat_Configuration.configure # probe_action: x_hubitat_Refresh.refresh
Synology Docker latest-23028
Hubitat v2.3.4.139
Hub Information Driver v3 -
I am not able to duplicate the behavior you describe (Hub Info stops polling). I suggest you check your polling interval in your Hub Information device configuration and make sure it's a sensible number (and specifically not 0). There also have been several bug fix releases of that driver; the current version is 3.0.14 and that's what you should be on.
The documentation describes the
probe_device
config as an integer; that's not what you have shown. It should be the device number only. It doesn't need to know which controller because you are in configuration for a controller. The Hub Information driver, if present, is still the preferred device and will override. -
SweetGeniusreplied to toggledbits on Feb 12, 2023, 9:31 PM last edited by SweetGenius Feb 12, 2023, 4:33 PM
I am running the latest version of the driver: v3.0.14.
It appears to me when MSR probes the device or if you press configure in the driver, all the new scheduled poll times increase causing them never to run. I have my poll times set as follows: poll1: 9 mins, poll2: 119 mins, poll3: 241 mins, poll4: 12 hours.
Here is a screenshot showing the scheduled poll times to start:
After MSR polls the scheduled poll times:
Poll3 and poll2 are not running.
Here is what I'm polling in the driver.
I know this is not your driver but I'm encouraged if you are not seeing a problem. I must have something configured wrong. Would you mind checking your driver and see if your scheduled times increase also?
-
They do. I use much a much shorter interval (actually, the default 300). It behaves the same way just using a simple refresh action.
That's going to make Hub Information Driver v3 unusable for this purpose, and send me back to the drawing board on the detection and probe for quiet channel. I'll look into it, but it may be a few days before I have time. I'm on other projects.
In your post/screen shots, I don't see any evidence, however, that the polls are not running. If they are scheduled, they are running. It's just a change in the interval caused by the Configure or Refresh. From what I can see, every attribute is being updated when the probe occurs. I am not seeing that the updates stop. So that just means things are being updated probably more frequently than you've scheduled -- pretty much opposite what you're reporting here. Are you seeing things that should be updated not be, or are you just assuming they haven't updated because of timing change?
-
It looks like when MSR probes the device, it then resets the next scheduled poll times to the time of the probe + whatever time you have set to poll in the device preferences. If you have small poll times then the polls might fire between MSR polls. Here is the filtered Hubitat log showing which polls run. lastPoll: baseData is when MSR does the probe. The first part of the log is with the poll:1 time is set at 9 minutes. If the time elapsed since a MSR probe > than 9 minutes then the poll:1 will run. It ran once at 06:45:15. I then changed the poll1 time from 9 mins to 3 mins at 8:00pm to test. You can see it ran more often but I don't know why the baseData slowed way down also.
dev:4812023-02-13 08:39:50.352 PMinfolastPoll : baseData dev:4812023-02-13 08:37:48.478 PMinfolastPoll : poll1 dev:4812023-02-13 08:34:48.349 PMinfolastPoll : poll1 dev:4812023-02-13 08:31:48.207 PMinfolastPoll : poll1 dev:4812023-02-13 08:28:48.062 PMinfolastPoll : poll1 dev:4812023-02-13 08:25:48.076 PMinfolastPoll : baseData dev:4812023-02-13 08:23:46.117 PMinfolastPoll : poll1 dev:4812023-02-13 08:20:45.974 PMinfolastPoll : poll1 dev:4812023-02-13 08:17:45.811 PMinfolastPoll : poll1 dev:4812023-02-13 08:14:45.676 PMinfolastPoll : poll1 dev:4812023-02-13 08:11:45.509 PMinfolastPoll : poll1 dev:4812023-02-13 08:08:45.408 PMinfolastPoll : poll1 dev:4812023-02-13 08:05:45.460 PMinfolastPoll : baseData dev:4812023-02-13 08:03:43.698 PMinfolastPoll : poll1 dev:4812023-02-13 08:00:43.644 PMinfolastPoll : baseData dev:4812023-02-13 07:56:18.977 PMinfolastPoll : baseData dev:4812023-02-13 07:54:17.207 PMinfolastPoll : baseData dev:4812023-02-13 07:50:52.589 PMinfolastPoll : baseData dev:4812023-02-13 07:44:17.322 PMinfolastPoll : baseData dev:4812023-02-13 07:39:17.057 PMinfolastPoll : baseData dev:4812023-02-13 07:36:18.474 PMinfolastPoll : baseData dev:4812023-02-13 07:34:16.720 PMinfolastPoll : baseData dev:4812023-02-13 07:26:27.444 PMinfolastPoll : baseData dev:4812023-02-13 07:24:16.188 PMinfolastPoll : baseData dev:4812023-02-13 07:21:27.225 PMinfolastPoll : baseData dev:4812023-02-13 07:14:58.542 PMinfolastPoll : baseData dev:4812023-02-13 07:09:15.465 PMinfolastPoll : baseData dev:4812023-02-13 07:04:15.275 PMinfolastPoll : baseData dev:4812023-02-13 07:01:16.758 PMinfolastPoll : baseData dev:4812023-02-13 06:59:14.981 PMinfolastPoll : baseData dev:4812023-02-13 06:54:14.847 PMinfolastPoll : baseData dev:4812023-02-13 06:45:15.886 PMinfolastPoll : poll1 dev:4812023-02-13 06:36:15.792 PMinfolastPoll : baseData dev:4812023-02-13 06:34:14.031 PMinfolastPoll : baseData dev:4812023-02-13 06:29:52.364 PMinfolastPoll : baseData dev:4812023-02-13 06:26:15.479 PMinfolastPoll : baseData dev:4812023-02-13 06:24:13.706 PMinfolastPoll : baseData dev:4812023-02-13 06:19:41.211 PMinfolastPoll : poll1
I am not looking for an immediate fix or change, Just trying to communicate to you what I am seeing.
Would it be an option to write your own virtual device driver for Hubitat so you could probe that device and return the data you want for the health check?
-
That is all clear to me. What I am trying to convey to you is that the rescheduling of the polls does not mean that the Hub Information Driver v3 is not updating its attributes (in effect, doing the polls). When Reactor causes the probe (if it needs to), the driver does its poll at the time of the request, updates all of the attributes, and then reschedules for the next poll. So the attributes are still being updated, as I said, just sometimes earlier than the driver itself would do. I could leave it that way and most users would never know or care.
-
With all due respect and I do mean that and without beating this to death, I am only seeing the attributes that update when MSR probes are the baseData attributes witch per the Hub information driver’s documentation are (attributes: firmwareVersionString, hardwareID, id, latitude, localIP, localSrvPortTCP, locationId, locationName, longitude, name, temperatureScale, timeZone, type, uptime, zigbeeChannel, zigbeeEui, zigbeeId, zigbeeStatus, zipCode). I can find these attributes updating in the logs every time. Some examples of attributes that are not updating are publicIP and hubUpdateVersion among others. I use those attributes in rules and they do not update. I can not find evidence of these being updated in the logs or driver unless you set the poll time for these to very fast interval as I tried to document in the previous post. I do believe the next scheduled poll time is accurate and the attributes associated with the polls will not update until that time. Probably the best thing to do is to revert to the v2 driver.
-
Installation of Reactor build 23049 and configuring a virtual switch as a probe device appears to be working well.
FYI, The "Manual" link in the Reactor UI doesn't have the updated docs that are linked to in the Release notes thread. Hubitat Controller, Other Configuration, probe_device section. I have tried a hard reset in safari and Firefox browsers but the documentation is not the updated instructions. Thank You.
Synology Docker
latest-23049 -
Great. Thanks for letting me know.
-
7/9