Memory leak?

I'll try and get you some txt files later today.

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.

1 Like

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.

That's why many people use Zigbee - because it can message a command and MANY devices will turn on/off at once.

Note: It's not that I think Zigbee is inherently "better", but it does have some advantages in certain areas (like this), over Zwave.

3 Likes

I figured that you might say that. Good tip, thanks.

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.

3 Likes

Maker API. The 50 http get requests are slow.

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.

  1. 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?
1 Like

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.

1 Like

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.

5 Likes

Victor - just wanted to say thanks! Your Java skills have made a huge positive difference to the platform. It is like night and day!!

11 Likes

Ok, but don't break it.

Many of us are doing hundreds, and in some cases multiple thousands, of Maker API calls per day. You break it, we get out the pitchforks :fire::fire::fire: . :wink:

7 Likes

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.

3 Likes

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.

2 Likes

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.

I know. But I can’t use poller, like I said :wink:

EDIT: I don't see how to quote a post I'm replying to. This was to the "you can write a rule machine rule..."

1 Like

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.

3 Likes

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?