2023.12 Ping integration changes & scan_interval

I’m 1. How many folks have a device with a public IP address that they can ping to check their ISP?

1 Like

I am usually pinging “ya.ru” & “google.com” ))

Yes, so case in point. They are not yours to abuse.

1 Like

So, if 10.000 users will ping Google.com every 1 minute - it will be bad for them? )

https://www.startpage.com/sp/search?query=ping%20ddos

1 Like

If 10.000 users ping Google every minute - this is not DDOS, you are exaggerating.
OK, not gonna argue with you.

1 Like

And your numbers and server are picked out of thin air. :man_shrugging:

You should be able to understand the reasoning behind this.

2 Likes

And what about local IPs ?

2 Likes

Tell yours then. No - i stopped, pointless.

Use the disabled polling and automation option.

That’s a terrible workaround.

I’ll reimplement the old ping platform myself as a custom component instead, with fully configurable intervals. I use pings a lot for connectivity checking on my local devices.

11 Likes

No it really isn’t. It forces you to understand what you are doing.

Sure that’s always an option but probably takes more time and effort to implement and may break in future.

4 Likes

So making things harder, less elegant and more convoluted for people who know what they’re doing. I don’t get this logic (but that happens more and more with the direction HA is going lately, so maybe it’s just me).

Eh, it’s probably pretty easy. But as you said, it’s almost guaranteed to break in the future, like so many things in HA. I guess my uptime and connectivity checks are going to go to an external script completely disconnected from HA and updating the results over MQTT. I’ve moved so much of my home automation business logic out of HA at this point, because all of these breaking changes, I sometimes wonder why I still use HA. Probably because of the nice web UI.

7 Likes

It’s about making HA a good experience for everyone. Not just you.

If a service blocks HA because uninformed users are abusing it that affects everyone.

You (as an experienced user) know how to circumvent the restrictions, and hopefully also know the ramifications of your actions and won’t have this effect.

So a slight inconvenience for advanced users and everybody wins.

9 Likes

Sorry for returning to this chat - this is not as reliable as it seems.
Someone creates a good tutorial “how to ping in an automation”.
Someone creates a nice blueprint “update ENTITY with FREQUENCY”.
This approach - with some help from advanced users - becomes popular.
And soon plenty of users will ping servers every 10 sec in automations.

Reducing AIDS cases by limiting sex.

6 Likes

Pretty sure that I’m not the only advanced user who relies on custom pings :wink: Anyway, I get what you’re saying. It’s just that I don’t consider that as a slight inconvenience. The workaround (and yes, it is one) is ugly, convoluted and inefficient and I just don’t like this. Maybe you’re right though, maybe it’s the best for keeping clueless users from hammering external services (do people really do this with ping ??).

Whether or not it is the job of HA to ‘educate’ users on these things is for another discussion. It’s still worth noting that the abusive scan interval in things like, say, the MyQ disaster was hard coded by the integration developer… Anyway.

Oh and Ildar has a point with the blueprint thing. Someone is going to release some kind of 1 second scan interval blue print at some point.

5 Likes

This can be caught by moderators of the forum, Facebook, Rdddit and Discord.

1 Like

Yeah I guess.

I just wanted to say that preventing abusive “hammering” (english is not my native) by disabling the “scan_interval” for PING is not an optimal way.
As for “1 sec” blueprint - it will be just a blueprint with a frequency defined as an input; use it for “1 sec” (never tested myself, usually have >=60sec) or for “300 sec”, it will work.

Honestly, I don’t think there is a way. There isn’t even a general definition of what can be considered an abusive scan interval to begin with. It’s all very situational and depends a lot on the service you’re accessing / pinging / whatever.

If I do a ping every second on my local NAS, it’s not going to be an issue at all (but it would still be stupid). If I do this on some cloud weather service, I’ll be rate limited in no time and HA would show up as the culprit on their logs. I get all this. It’s bad rep for HA and can get the system banned in places we wouldn’t want that and maybe prompt companies to shut their ‘public’ APIs completely.

So OK, ignore / override the scan interval setting for non-local URLs and force people to do automations / other workarounds. Fine. But why on the local network ?! It’s not hard to check in code if this is a local IP I’m pinging and apply the custom scan interval only in that case. Is pinging local devices such a corner use case ?

2 Likes