Adatforrás
Teltonika IO paraméterek, esemény-eco párosítás, sofőr-attribúció
A Vezetőelemzés adatai három forrásból állnak össze: a Teltonika GPS eszköz IO paramétereiből, a Traccar szerver alarm-detekciójából, és a Sharee belső sofőr-jármű hozzárendelési rekordjaiból. Ez az oldal a háttérben futó adatfolyam fontosabb részleteit dokumentálja -- főleg fejlesztőknek és haladó flottakezelőknek.
Teltonika IO paraméterek
A telematikai egység a következő IO mezőket küldi minden pozíciójelentésben (vagy esemény-driven módon):
| IO | Név | Tartalom | Hatás a pontszámra |
|---|---|---|---|
| io253 | Green Driving Type | 1 = harsh accel, 2 = harsh brake, 3 = harsh cornering | Pontozott (1, 2) / kiegészítő (3) |
| io254 | Green Driving Value | G-erő × 0.01 (pl. érték 75 = 0.75 G) | Súlyosság -- Green Driving Score |
| io243 | Green Driving Duration | Esemény hossza ms-ben | Megjelenítés |
| io15 | Eco Score | Multiplier 0.01 -- események száma távolságra normalizálva | Eco Score elsődleges forrás |
| io258 | Eco Maximum acceleration | 8-byte X/Y/Z csomag | Eco részletek |
| io259 | Eco Average acceleration | 8-byte X/Y/Z csomag | Eco Score fallback ha nincs io15 |
| io260 | Eco Duration | Eco mérési időszak | Normalizálás |
| io36 | Motor RPM | Fordulatszám | Trip-szintű kontextus |
| io82 | CAN Accelerator Pedal Position | 0--102 (0--1 decimális %) | Eco részletek |
| io41 | OBD Throttle Position | OBD-II adat | Eco részletek |
| io911 | CAN Clutch Switch | 0/1 | Trip-szintű kontextus |
| io1331/1332 | Selected/Current Gear | Sebességfokozat | Trip-szintű kontextus |
| io37 / io24 / io81 | Speed | Prioritás-alapú sebesség | Csúcs- és átlagsebesség |
A io258 és io259 8 bájtos csomagok három tengely (X/Y/Z) gyorsulását kódolják. A backend a hossztengely (X) értéket használja az Eco Score számításához, a többi tengely diagnosztikai kontextus.
Esemény-detekció (Traccar)
A Traccar szerver az IO csomagokból position.attributes.alarm mezőbe írja a vezetési eseményeket:
| Alarm érték | Esemény típus | Pontozás |
|---|---|---|
hardAcceleration | Hirtelen gyorsítás | 1.5× |
hardBraking | Hirtelen fékezés | 1.0× |
hardCornering | Hirtelen kanyar | -- (kiegészítő) |
Esemény ↔ Eco párosítás (30 másodperces ablak)
A Teltonika eszköz az Eco mutatókat (io15, io258--260) nem szigorúan az események időpontjához kötve küldi -- külön pozíciójelentésekben érkeznek. A backend ezért minden harsh eseményhez ±30 másodperces időablakon belül keresi a legközelebbi Eco-pozíciót, és onnan veszi az Eco értékeket.
event.time = 14:32:18 → search Eco position in [14:31:48, 14:32:48]
→ closest match: 14:32:21 → use io15 = 0.42Ha nincs Eco-pozíció a 30 s ablakon belül, az esemény Eco mezője null marad. Ez nem rontja a Weighted Score-t, csak az adott esemény Eco-kontextusát.
Sofőr-attribúció
Egy esemény járműhöz van rendelve, de a flottában egy jármű több sofőrt is kiszolgálhat. A backend a következő prioritás szerint dönti el, melyik sofőr kapja az esemény "számláját":
1. VehicleAllocation
Először ellenőrzi, van-e érvényes VehicleAllocation rekord az esemény időpontjában (sofőr-jármű hozzárendelés from/to időszakkal). Ha igen, az allokáció sofőre kapja az eseményt.
2. DriverSignIn (fallback)
Ha nincs allocation, a DriverSignIn rekordok adják az attribúciót: az utolsó sign-in esemény járműhöz az adott időpont előtt -- amíg nincs sign-out -- a megfelelő sofőr. Ez fedi le a flexibilis vagy ad-hoc használatot.
3. Nincs hozzárendelés
Ha sem allocation, sem sign-in nincs, az esemény nem kerül sofőr-szintű elemzésbe (a flotta-szintű aggregátumokba viszont igen, mint "ismeretlen sofőr"). Ezt jelzi a dashboard "ismeretlen attribúció" figyelmeztetése.
Adatfolyam összefoglaló
Teltonika eszköz (IO 15 / 253-260)
↓
Traccar szerver (alarm detection: hard*)
↓
greenDriving.list endpoint
├─ szűrés alarm típusra
├─ ±30s eco párosítás (io15/259)
└─ sofőr-attribúció (allocation → signIn)
↓
driver-scoring.ts (5 párhuzamos pontszám)
↓
Web UI: dashboard / individual / trips / comparison
Native: Sharee Driver app sofőri visszajelzésAPI végpontok
A Web UI a következő greenDriving oRPC eljárásokra épül:
| Endpoint | Mit ad? |
|---|---|
list | Nyers események listája (szűrhető vehicle, user, type, time) |
getRoutes | Pozíciók térkép útvonalrajzhoz |
getPosition | Egy pozíció részletei (esemény-modal) |
dashboard | Flotta-szintű összegzés (5 perces cache) |
driverScores | Minden sofőr 5 pontszáma |
driverDetail | Egy sofőr deep-dive + flotta-összevetés |
driverTrips | Trip-szintű lebontás |
eventsTrend | Napi esemény-aggregátum (line chart) |
compareDrivers | 2--5 sofőr párhuzamos összehasonlítása |
A dashboard végpont eredménye 5 percig cache-elt szervert oldali rétegben, így a flotta-nézet nem terheli minden lapozásnál a Traccar-t. A részletes nézetek (driverDetail, driverTrips) cache nélkül, élőben kérdeznek le.
