I turned off all the logging I could find after rebooting, and so far, it seems pretty fast. It does take some time for the slow down to become very noticeable.
As an aside, I'd pay a few $$$ more for a hub with a faster CPU, more RAM, etc. While it may seem that the current hardware is fast enough, when you get to doing things like operating multiple devices in a rule, the lag between each device doing its thing matters. For example, a good night routine that turns off all the devices can take many seconds to turn off 30+ of them. I don't think it's something that async I/O is going to fix.
The app still receives a call, at which point it goes through its internal data and picks up on the fact that it's paused. Disabling an app should do the trick, though. Here's an example:
You'll be limited by the mesh before the hub controlling 30 devices.
5 seconds for over 100 devices, I'd say that's pretty quick... There's even built-in delays in this rule.
This explains why when I recently migrated from my C4 to the C7 everything got a lot faster, especially the UI. I noticed that the UI would slow down a lot over time on my C4. I restored the same backup from my C4 to my C7 so all my apps/rules etc were exactly the same so it must be the hardware. Well worth the upgrade.
Toggling every switch in the Hubitat UI to off for anything resembling logging, and rebooting, the hub seems to be as fast as it should be. It's been 2-3 days without any noticeable slowdown.
YourHubIP/hub/advanced/event/limit/10 (the number I use)
I haven't seen a way to globally change the "state" limit. I have set most of mine to 10 manually (very time consuming). @gopher.ny is there a way to do that globally as well?
I tried using Maker API for a short while for an external dashboard, and it brought my hub to a crawl. I know others have successfully used it, but my experience was not good. I am not sure if it is a bug or what, but I concur that it does sometimes affect people's hubs.
Right now this endpoint sets default value, which is what a device would use if no values were defined explicitly (upon save). This will change so that hitting a URL will override all devices' settings, but it will not be in a hotfix. Unless something very serious breaks, 2.2.4 is closed.
I'll check if there are any low hanging fruits there that could speed it up.
same here with 200 devices.. that is why i use built in and limit devices for each dashboard and also my copy of smarttiles which updates as each device updates instead of all at once like when you bring a dashboard using makerapi up.
that said maker api is usefull i use it in a limited fashion with my garmin watch to turn certain things off an on etc. but not a dashboard that is constantly doing urls to all devices.. Probaly ok for like 20 devices at most would be my guess.
Try setting dashboard refresh interval to a larger interval. Unless there's a practical reason to poll it every 2 seconds, it will make a big difference. And yes, I'll be taking another look at dashboards.
I use the Maker API from a completely separate application that is much richer than Hubitat can provide. Introducing RoboDomo
I was polling getAllDevices() once per second and rebooting the hub every few days when it crawled or stopped altogether. I went to every 2 seconds, but that barely helped.
Why poll so fast? If you turn off a switch manually, you want to see the tile in the UI change state quickly or the whole thing feels sluggish from the lag.
Bugs/suggestions:
The post endpoint solves the need to poll. But some z wave devices do not report state change on manual change, so the need the z wave poller, which adds some lag but beats having invalid state.
I can’t use poller for fans, only switches and dimmers. This seems like an oversight.
I don’t think you can set up the post API to work with multiple endpoints. A better WebSocket API would be ideal.
I don’t think there’s a way to unset the post API endpoint.
Maker API should let me post an array (JSON) of devices and states so I can send such an array to turn off 35 of my 50 things with one http request.
I want an arrival or geofence for each person and each vehicle. Any hubitat solution would be ideal, but I am looking at putting a Bluetooth device in each vehicle and polling for Bluetooth devices from a Linux system to determine if the device (vehicle) is in range. Not sure if hubitat has BT hardware, it would be the win.
you can right a rule machine rule to start polling or even manually start it from the device handler for a fan as long as the handler supports it.. the one i am using does.
If you highlight the text in the post you want to respond to, you should see a "Quote pop-up appear, click this and it will take you into the regular reply dialog. You can also do the highlight and quote steps while typing a reply and the quote will be pasted into the reply dialog for you.
With the comments made earlier in this post re the performance of C-7 hubs vs C-4 hubs... I have an existing C-4 hub and a new C-7 hub ready to setup. I was considering moving my devices and closely related rules to the C-7 hub and leave any problematic apps/devices, cloud-based integrations, etc on the C-4, perhaps even my dashboards running on my C-4 as well. Would it be better to also port my dashboards to the C-7 hub?