Update Intervals / Device Offline

Karl Woods6 months ago

HI everyone, I've just set up my traccar server again, and I'm using it with two FMB devices (900 and 920)
When the tracker is stationary I only want it to check in every 12 hours, which I have configured on the FMB.
Below is a log of one of the updates. Is there a way of configuring traccar to not mark a device as offline after ten minutes?
The update time (like two hours, three hours etc.) turns red.

2024-06-02 14:09:06  INFO: [T0781c4db: teltonika < 192.168.12.210] 000000000000004008010000018fd9111ee802004f14db1e9ee3560044003f080000f60b06ef00f0001503c8004501f60103b50007b6000642301a02f100005b7710002e2b1f000100000c31
2024-06-02 14:09:06  INFO: [T0781c4db] id: MYIMEINUMBER, time: 2024-06-02 14:08:49, lat: XX.XXXXX, lon: X.XXXXX, course: XX.X
2024-06-02 14:09:06  INFO: [T0781c4db: teltonika > REVERSE PROXY:STREAM] 00000001
2024-06-02 14:09:06  INFO: [T0781c4db] disconnected
2024-06-02 14:09:06  INFO: Event id: MYIMEINUMBER, time: 2024-06-02 14:09:06, type: deviceOffline, notifications: 0

My config contains the following:

    <entry key='config.default'>./conf/default.xml</entry>

    <entry key='server.timeout'>45000</entry>
    <entry key='status.timeout'>45000</entry>
    <entry key='status.ignoreOffline'>teltonika</entry>
    <entry key='teltonika.timeout'>45000</entry>
    <entry key='osmand.timeout'>45000</entry>

    <entry key='filter.zero'>true</entry>
    <entry key='filter.invalid'>true</entry>
    <entry key='coordinates.filter'>true</entry> 
    <entry key='coordinates.minError'>25</entry>
    <entry key='event.motion.speedThreshold'>1.11</entry>
    
    <entry key='processing.copyAttributes.enable'>true</entry>
    <entry key='processing.copyAttributes'>power,ignition,battery,Device Temperature</entry>

    <entry key='database.driver'>com.mysql.cj.jdbc.Driver</entry>
    <entry key='database.url'>jdbc:mysql://mariadb:3306/Traccar?zeroDateTimeBehavior=round&amp;serverTimezone=UTC&amp;allowPublicKeyRetrieval=true&amp;useSSL=false&amp;allowMultiQueries=true&amp;autoReconnect=true&amp;useUnicode=yes&amp;characterEncoding=UTF-8&amp;sessionVariables=sql_mode=''</entry>
    <entry key='database.user'>MARIADBUSER</entry> 
    <entry key='database.password'>MARIADBPASSWORD</entry>
    <entry key='database.saveEmpty'>true</entry>
    <entry key='database.throttleUnknown'>true</entry>
    <entry key='database.ignoreUnknown'>true</entry>
    <entry key='database.saveEmpty'>true</entry>

Is there an "optimal" update frequency for device that are stationary? Obviously being a motorcycle the available power is much lower than that in a car.

Thanks for taking the time to read this.

Anton Tananaev6 months ago

Offline means that device has disconnected. It's not something that can be configured on the server.

Karl Woods6 months ago

If I set the open link timeout to 43200, I assume that would resolve that issue? Wouldn’t this increase battery drain? Sorry just trying to get the optimum battery usage.

Karl Woods6 months ago

https://wiki.teltonika-gps.com/wikibase/index.php?title=FMB920_GPRS_settings&mobileaction=toggle_view_desktop
Does traccar send acknowledgements? This looks like I can the timeout quite high.

Anton Tananaev6 months ago

Timeout is only applied if device doesn't disconnect by itself, which seems to be the case here.

Karl Woods6 months ago

ok thanks or your help.

Karl Woods6 months ago

IS it possible to configure traccar to know it is behind a reverse proxy? I was using the stream setting in swag to reverse-proxy the connections from the trackers, but the logs show the IP address of the proxy server rather than the IP address of the unit, so I'm assuming this would hamper any responses the server sends?

Anton Tananaev6 months ago

As long as your proxy is configured correct, it shouldn't cause any issues.

Karl Woods6 months ago

the reverse proxy for accesing the webserver is working ok. that is here.

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name gpstracker.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    location / {

        include /config/nginx/proxy.conf;
        proxy_pass http://192.168.10.201:8088/;

    }
    

    location /api/socket {
        proxy_pass ws://192.168.10.227:8088/api/socket;
        proxy_set_header Host $host;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

    }

}

I've also configured stream and the configuration for that is:

server {
    listen 5027;
    proxy_pass 192.168.10.201:4027;
    proxy_responses 0;
}


server {
    listen 5055;
    proxy_pass 192.168.10.201:4055;
    proxy_responses 0;
}

Which may be very wrong and missing some config, I'm just not sure how to figure that bit out.

Karl Woods6 months ago

sorry, the websocket is also set to IP 10.201