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

HVisual3 months 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.

HVisual3 months ago

Addendum: MySQL is used for data storage

Anton Tananaev3 months ago
  1. What interface are you calling to report location?
  2. What's in the server logs?
HVisual3 months ago

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

HVisual3 months 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 Tananaev3 months ago

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

Anton Tananaev3 months ago

Also I would recommend trying simple numeric id.

HVisual3 months 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

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

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

HVisual3 months 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