[OBSOLETE] "Pollster" - A SmartThings Polling Daemon

Please note that excessive polling of some devices (particularly Zigbee and Z-Wave) may cause network congestion and lead to degraded system performance. Therefore, polling rate faster than 5 minutes is not recommended. The author of this software bears no responsibility for your system performance. Use it at your own risk.


I don’t claim originality of the idea, but I needed one badly for some of my projects and didn’t find anything among the shared apps. So there it is…

Many SmartThings devices rely on polling to periodically update their status. These devices have ‘polling’ capability and provide poll() function that the SmartThings polling engine calls approximately once every 10 minutes. Unfortunately, SmartThings polling engine proved to be unreliable and sometimes it stops working for hours and even days.

Here comes Pollster to the rescue! Pollster is a polling daemon that calls poll() function periodically for selected devices. Polling interval is user-configurable and can be as short as one minute.

More information and installation instructions can be found on the GitHub page.

22 Likes

This is great! @essidle @steveganz…check this app out as it will update the MyQ status within a minute, even if you open it outside of SmartThings app. I now added my MyQ doors into my Doors & Locks section since it updates properly. I also used this app to update my Nest thermostats.

1 Like

Great having this. Thank you. Just like the previous poster, this is excellent for us MyQ people.

just curious…is there much difference between this app and the one created in this post by @sherrell ?

http://community.smartthings.com/t/polling-not-working-for-custom-device-type/2787/16?u=a2thejay23

It looks very similar indeed. The only major difference I could find is that the author uses runIn() to schedule the polling task and have to calculate polling interval every time it runs, whereas my version sets up a cron job when that app is installed, which is slightly more efficient in my opinion.

1 Like

Agreed - schedule() is probably more efficient. I was still getting to grips with the API when I wrote that app.

Still am getting to grips with it…

I installed this app to fix the tcp lights not reporting as on in the ST app after a power outage (or after using the physical switch)

The polling is showing up in my activity feed but it’s not actually updating the light status? Am I doing something wrong?

Sorry, I don’t have TCP lights to try it out. It may be helpful to look at event logs in IDE.

this is all it shows in the log the last time it ran

7a3d776f-98ad-45b0-9816-bd3d251d445c
1:40:22 PM:
debug
Executing poll()

a6c37e77-1b7a-4156-8f42-26e704c6e622
1:40:22 PM:
debug
Executing poll()

a6c37e77-1b7a-4156-8f42-26e704c6e622
1:40:12 PM:
debug
Executing poll()

7a3d776f-98ad-45b0-9816-bd3d251d445c
1:40:11 PM:
debug
Executing poll()

on the activity log it does show the app sent the poll command

just wanted to report back that I found out the issue was my TCP integration broke up some how. I assume from power outages. My ST app was reporting the lights were going on and off according to schedules (but they really weren’t going on or off at all, but in app they were acting as they should - didn’t realize this until I went outside and looked one time).

so pollster was running but not returning a state. I made a MAC reservation for the TCP gateway and re ran TCP connect and now everything is working fine - including pollster.

Very happy with this app!

This is where I lose you. When I tap on the “+” I don’t see "MyApps by swiping the menu ribbon. The last menu item I see is “More” after “Actions”. How do I proceed?

You probably need to go back into the IDE and publish the app.

I got it to work on IDE. But there’s no visible way to set it through the app I can see.

I believe you need to log out of the mobile app and then log back in to see your self-published smart apps.

1 Like

Ah ha. That did it. Thanks!

But when I did that, now my Nest Thermostat module isn’t updating. Ugh

Pollster Version 1.1 is released.

What’s new?

  • You can now arrange devices into four polling groups with independently configurable polling intervals.
  • Setting polling interval to zero will stop polling for that group. You don’t have to remove devices from the group.

About Pollster

Many SmartThings devices rely on polling to update their status periodically. These devices have ‘polling’ capability and provide poll() function that the SmartThings polling engine calls approximately every 10 minutes. Unfortunately, the SmartThings polling engine proved to be unreliable and sometimes it stops working for hours and even days.

Here comes Pollster to the rescue! Pollster is a polling daemon that calls poll() function periodically for selected devices. Devices can be arranged into four groups with independently configurable polling intervals. The polling interval can be as short as one minute.

Pollster is a shared community SmartApp and is available in the “Convenience” section of the shared apps catalog.

The source code is at https://github.com/statusbits/smartthings/

8 Likes

Super cool! Keep up the good work man!

Seems to not be working as reliably for me :frowning:

Edit: Looks like i had to add something to all groups. then it started working

mine is working with only one group.

would really like to see multi’s be polled. occasionally my garage door shows the wrong value.