Map in built-in map view (below "Overview" and above"Logbook") is very out of date

The map-data used by the build-in map is 1 to 2 years out of date. Other software and web-pages using CARTO has the new map-data, so it is like the old data is explicitly requested by Home Assistant or maybe Home Assistant is using a map-server or caching server with old map-data!?
Old map data has also been reported in topic 64296.

The map is sourced from OpenStreetMap. Are you saying the map version used by Home Assistant is not the latest one available from OpenStreetMap?

I’m not sure I understand.
We use OpenStreetMap because it’s free and someone built an integration specifically for that.
But now it is observed that it’s not quite up to date enough … ???
Does this imply (subject to someone building an integration for it) you’d be willing to pay a subscription for the use of the ‘newer’ map service ?
It’s not like we use it as a sat nav, or do we ???

I think the issue is that Home Assistant uses services from CARTO and they are rendering a map based on OpenStreetmap’s data, just not the latest version of it.

FWIW, it’s not unusual for an organization to use a cached version of OpenStreetMap’s data. The refresh rate might be tied to the service tier you’ve purchased, where the free level gets the slowest refresh rate.

@Taras Yes, that’s what I am saying :slight_smile: According to other posts and the small copyright in the lower right corner of the map, it uyses “|Leaflet”, OpenStreetMaps and CARTO and somehow the newer cards are not serviced in this chain.
Like the user in the linked topic, a lot of new roads has been constructed since this card, and if I go to openstreetmap.org and find the same area, then the new roads are present (and the card is much prettier).
@Taras 2 You are right about your observations, but this card is close to 2 years old!

OK, then my guess is that because Home Assistant is using CARTO’s free service tier, it’s getting the most basic level of service which means a map that is rarely updated.

Ouch! This is a wild guess but maybe CARTO clients on the free tier have to manually request a map update.

@Mutt For my part, it is so old it does not even make sense to show a map. You can neither drive or walk to my home, if you use this card and come from east. Roads (many) has been added, a couple or three has been closed in one end or on the middle, two bridges destructed, and two new bridges built :slight_smile:.
No, the map has no use for me anyway, so I will not be willing to pay. I will be willing to study/make a new version, based on the same data, that (according to the copyrights and usage rules of OpenStreetMap) will not cost us anything and which will be up to date at all times. However, this is probably due to me being new, because some place in the forums, the developer has a note of something special, that he/she needs from CARTO - for me this is just a static map, but the original developer most certainly knows something that I do not know yet. But if it is explained to me, I will be willing to look into a new map component.

1 Like

@Taras Unless there are some requirements that I am unaware of, the components should then be based directly on the OpenStreetMaps API instead - as I mention above, I will be willing to look into this, but I would like to know what is so essential from CARTO, before I commit to making something, that might not be able to fulfill what users need.

And therein lies the issue, obviously my cynical point was a bit too well hidden in my last post. “Given that what we have is free and we’re not willing to pay, then what we have is what we’ll get”

You say it’s of no use, but generally, you need to know where home is - that’s defined by the radius you put around the little housey thing. If you care about where your family members are you define other zones.
School for the kids etc. So are the kids in school? - yes (result ! ) - no, they are in the middle of a wide expanse of nothing between school and another expanse of nothing that has my housey thing in it, I wonder where they could be??? Possibly travelling from home to school or visa versa.
Your contention that “the map is of no use” is not true, there are enough referents to give you a pretty good idea and if there aren’t, make some.
Also bear in mind that the application is primarily about home automation which at best case could be family member ‘x’ is now within 3 klicks from home - put the heating on.
Unless you are willing to pay, then our subscription model will not change and the maps will lag (temporally (time wise)) behind current topographical detail.
What would you have the devs do?
Do you know what business’s have to pay to get listing on Google maps?
Or have a Google map link on their website? Or use Google maps as part of their logistics supply chain movement planning? They start at “more than I want to pay” and quickly climb to “I’d have to sell my house” exorbitant !

1 Like

@Mutt No, that is not what I wrote. I wrote “No, the map has no use for me anyway, so I will not be willing to pay.”. The operational words here are “for me”.

However, by offering to look into making a new map component, I do realize that it may be of use to somebody (and then I will be paying with my time and hence, willing to pay something).
However, in my opinion, to be useful the map must be current. The OpenStreetMap usage clauses permit the use of a map as a “Slippy Map” (see wiki and wiki) - HASS does not burden the maps servers more than any other web-page, so this should be permissible. Another solution is to use the Overpass API where free map-servers (listed on the page) allows enough usage to cover HASS use. Or what am I missing? Isn’t it in the most cases just to download a map of your own neighborhood and keeping it current (which requires very little map usage/download for most people as the map changes veryseldom)? Or are people using this map in some other way, pulling millions of bytes from map servers?

Note: I am searching for solutions. If there are so many users of HASS that the usage policies of Overpass servers is a problem, I could even consider making one available myself (donating the hardware and bandwidth to the project, so again, apparently I am willing to pay something).

PS: I see your point about the kids getting close to home, but to turn on the heat when they are close does not require a map (and at least in some countries and states - would be equivalent illegal tracking). But it does explain a usage that I was unaware of.

2 Likes

Okay, I owe you an apology
I misunderstood the thrust of your argument, and how it would be implemented. For each HA instance to ‘download’ (ie locally cache) their own map, should be doable, but you will get arguments from users that say “yes I live there, but I want current map data for there” this may increase the ‘loading’ as you’d probably have to pull a ‘local map’ for each defined zone - dunno, don’t want to teach my grandmother to suck eggs (I don’t even know where that comes from, it sounds horrible).
Merging the map with the rest of the world might also be ‘interesting’ (as in the Chinese Curse)
I have added my vote, as you have won me over.
Good luck

Edit: not sure you should even attempt to run your own caching server as each map would basically be a pointer to someone’s house. Some real privacy concerns there.

By the way, there was a guy on here who wanted to track 9 individuals (presumably family members, how else could he get them to give permission to share GPS data ?) and have notifications of when they entered and left any defined zone.
I thought that was creepy but its a standard feature of life360 so I helped him out.
My wife and I used to get notifications of just when each other left or arrived home. That got so irritating that it got turned off really quickly. But I can still check if she’s in the chocolate shop. :smiling_imp:

@Mutt Regarding the server, it would be a Overpass API server, where I download the current palnet data from (OpenStreetMap planet.osm) which expands to a 1TB+ data set which can then be accessed through the Overpass API sever. By limiting requests to HASS this should hardly be noticeable on my internet-connection and I have a small low-wattage (good for the environment) server doing nothing in a closet, so it could be used for the task. If needed as explained before :slight_smile:

Okay, maybe I’m missing something.
So you have the global map
And we come to you requesting specific information?
This would still centre on our homes (just like Google does but we sold our souls to them years ago) so the list of requests are still pointers to our addresses.
I’m not actually sure what I’m worried about because when I walk down our street - that house is an address, and that one, and so is that one etc.
I’m just trying to see the dark side before someone else does…

Probably a stupid question, but what do you use this map for ? I know it is there, but I never found any use for it.

Well, we use device trackers and the map puts the trackers in context.
Do I have automations that need to run when the kids leave school? Where are the kids now? Should I be getting a meal ready?
Just regular questions that can be answered better in context

I was just looking for a good thread on this last night but before this one was created. I actually ended up opening an issue on Github this morning because I had corrected our road name on OSM just over 1 year ago but HA still has the old name today. It would be nice if we had an alternative or something.

@Mutt As a reply to your “Dark side”/Server post :slight_smile:

So you have the global map

The global OpenStreetMap is downloadable from planet.osm.

And we come to you requesting specific information?

Yes - you come to me, as I would provide the service (but only if one of the already free services rejects my request to use their service, if not you would go to them). You have to get information from somewhere - right now it is CARTO that receives all map requests.

This would still centre on our homes (just like Google does but we sold our souls to them years ago) so the list of requests are still pointers to our addresses.

Yes, but as I state above, we already do that (provide pointers to our houses) - here it is just CARTO that get the information.

I’m just trying to see the dark side before someone else does…

:dark_sunglasses: Welcome to the dark side! :dark_sunglasses:
But the only information that map receives, is a request for a “map box”, i.e. the upper left GPS coordinate of the map and the lower right coordinate - it does not get the exact position of you house (although, if you’ve placed you house perfectly in the middle of the card, it could be calculated from the map box coordinates). Markers on the map box is handled locally on your computer through “Leaflet” (the same “show the map” components as the current map uses) and does not go to the map-server.

I will try to make an example later today and post a link here.

Okay, if the map I request ONLY has my house on it then the center of the map marks my house. But if I have just one other zone defined, it doent
Okay there is the situation where 1 zone is equidistant to anther zone diametrically opposite but that’s just so bizarre we can discount it.
I think my feeling now is that you would be receiving requests from HA instances and as such would know everyone’s ip address who has port 443 open. (cept if they used Nabu casa) and connects to HA.
Thought 2 : - (but more important than thought 1) - HANG ON - this works (the map bit) for people who DON’T have port 443 open for DuckDNS
Thought 1 - I think I’d be happier perusing the direct access to the free servers as that is a request and reply, totally anonymous and unrelated to HA so implicitly less is known about the requester and/or the system requesting. HA has consistently advocated users not telling anyone their duckdns address (ie their external ip address) as a security concern.
Hmmmm but thought 2 shows that an ip from ha does not indicate an open port. The port is protected and ssl encrypted (no one has EVER broken that have they :sarcasm:) but why devote so much effort to hack past that just to turn someone’s lights on/off ?
Well they get at my HA and they can see if we are at home and also how far from home we are (how much time they have)
This is really difficult

@Mutt I have made an example, which should adhere to all usage rules at my homepage. This uses the OpenStreetMaps tile server, and according to their tile usage policy, we can use this without any problems.

Regarding your concern about leaking you DuckDNS ip address to me (which is not the case in the example above, at it uses openstreetmaps) - but if you do visit my homepage, the Apache server will log your visit (as an IP - I can’t see it is you) and it will be this way on any website you visit. If you search for (as I did before opening this issue) “home assistant out of data map” all the web-sites you visit to try to find the answer, will know you IP address AND that you probably are using HA (why else should you visit?). So to be safe, you must use a VPN service at all times.

BUT this will require, that you trust the VPN provider, because they will know every site you visit and your IP at all times.

However, running HA in the first place, requires that you trust the developer(s), because if you download and run code on your local computer/server/Raspberry, leaking IP addresses to map tile server is the least of your concerns, because the HA core and every component can do anything within the rights assigned to the HA installation, including scanning your network (it actually has to, to discover devices), send data to a malicious server outside your house and other nasty stuff. A “clever” component could collect data, guess that you are not home given time of day, light status, alarm status etc. and send the address based on the position selected on the map to an external server - no need for DuckDNS, no need to know you are running HA, on what hardware or anything. So if you trust my map component (and this goes for any code/component you let onto a computer in your house), you’ve already given my the best access to you computer and home and the DuckDNS / IP leak concern should be minor compared to this.

But, the question remains: Should I try to look into the map code or should we bugger the original developer? The example I linked should be a good stating point no matter if it is me or another developer looking into the map.

1 Like