After setting Geofence, there is no notification and the location cannot be reported through OsmAnd protocol normally

HVisuala year ago

Operating environment: Docker
Versions that have reproduced the bug: 6.2, 6.4

The following steps are operated through the UI:
Step 1: Added a device and set the device ID to "test car"
Step 2: Add two notifications, "geofenceEnter" and "geofenceExit", with notification types of web
Step 3: Draw a range type of geofences on the geofences page
Step 4: Added a group and assigned notifications and geofences to the group
Step 5: Set up device grouping

Then, by calling the interface through Postman to report the location, there are two types of results:
1、 If the latitude and longitude are not within the geofences range, the device location can be updated normally;
2、 If the latitude and longitude are within the geofences range, the interface cannot be called normally. After waiting for a period of time, it prompts that the interface call has timed out. This problem only occurs on devices that set geofences, and other devices can report their location normally

The expected result should be that the device location is within the geofences range, which will trigger one of the notifications "geofenceEnter" or "geofenceExit"

I'm not quite sure what the problem is. Could you please let me know the solution if you have encountered this issue before? Thank you.

HVisuala year ago

Addendum: MySQL is used for data storage

Anton Tananaeva year ago
  1. What interface are you calling to report location?
  2. What's in the server logs?
HVisuala year ago

Interface request address:http://192.168.100:5005/?id=京A66666&lon=121.531725&lat=31.071277

HVisuala year ago

2024-09-05 08:09:22 INFO: Event id: 京A66666, time: 2024-09-05 08:09:22, type: geofenceEnter, notifications: 1
2024-09-05 08:09:27 INFO: [T134e0975] disconnected
2024-09-05 08:09:27 INFO: [Tfe242aff] connected
2024-09-05 08:09:27 INFO: [Tfe242aff: osmand < 10.244.69.228] POST /?id=%E4%BA%ACA66666&lon=121.531725&lat=31.011748&speed=20&bearing=20&heading=20&valid=true&charge=false&driverUniqueId=%E4%BA%ACA66666&batt=20&hdop=1 HTTP/1.1\r\nHost: 192.168.100:5005\r\nX-Request-ID: 86c1f90d-bc3f-4823-8519-3b482ea589cb\r\nX-Real-IP: 10.4.56.22\r\nX-Forwarded-For: 10.4.56.22\r\nX-Forwarded-Host: 192.168.100:5005\r\nX-Forwarded-Port: 80\r\nX-Forwarded-Proto: http\r\nX-Forwarded-Scheme: http\r\nX-Scheme: http\r\nX-Original-Forwarded-For: 172.18.0.1\r\nContent-Length: 0\r\nuser-agent: PostmanRuntime/7.41.2\r\naccept: /\r\ncache-control: no-cache\r\npostman-token: e2c41966-1780-4b61-ac58-0966a3d4a210\r\naccept-encoding: gzip, deflate, br\r\nx-envoy-internal: true\r\n\r\n
2024-09-05 08:10:26 INFO: [Tfe242aff] disconnected

Anton Tananaeva year ago

Are you sure there's nothing else in the logs?

Anton Tananaeva year ago

Also I would recommend trying simple numeric id.

HVisuala year ago

I did not find any abnormal information. After requesting the OsmAnd API, although the interface did not respond, I found that the websock received a "devices" data push to update the device status

HVisuala year ago
INFO: [T5da10d45] error - Connection refused - ConnectException (... < JsonGeocoder:126 < NotificationManager:129 < *:177 < ProcessingHandler:186 < GeofenceEventHandler:65 < ...)
Anton Tananaeva year ago

Looks like your geocoder is failing. Have you tried disabling it?

HVisuala year ago

That's right, thank you. The reason is that I cannot access foreign geocoding services in China. I solved the problem by setting "geocoder. enable" to false