Modul Dochádzka - čip/čítačka odtlačkov prstov
Obsah
1. Prehľad modulu
1.1 Účel modulu
Modul Dochádzka - čip/čítačka odtlačkov prstov (WorkAttendanceChips) slúži na automatizované zaznamenávanie pracovnej dochádzky zaměstnancov pomocou fyzických čipových kariet (RFID/NFC), biometrických čítačiek odtlačkov prstov alebo rozpoznávania tváre s využitím umelej inteligencie.
Modul eliminuje potrebu ručného zadávania časov príchodu a odchodu, zvyšuje presnosť evidencie a poskytuje kontrolné mechanizmy proti zneužitiu (napr. fotografia pri zapípnutí, minimálna dĺžka prestávky, automatické uzavretie pracovnej doby).
1.2 Kľúčové funkcie
- Nastavenie čipových kariet - Evidencia bezpečnostného kódu čipu RFID/NFC pre každého zamestnanca
- Čítačka odtlačkov prstov - Biometrická identifikácia pomocou odtlačkov prstov (voliteľné)
- Rozpoznávanie tváre - AI detekcia tváre pomocou face-api.js (vyžaduje RasPi terminál s kamerou)
- Dochádzkovový terminál RasPi - Fyzický terminál na zapisovanie dochádzky na mieste
- IP obmedzenie - Whitelist povolených IP adries pre čítačky (bezpečnosť)
- Konfigurovateľné tlačidlá - Typy dochádzky dostupné na termináli (lekár, služobná cesta atď.)
- Automatické uzavretie - Automatické ukončenie pracovnej doby (3 režimy)
- Fotografia pri zápise - Bezpečnostná fotografia z terminálu na detekciu zneužitia kariet
- Zabránenie ručným úpravám - Prísny čipový režim s možnosťou výnimiek (dovolenka, choroba)
- Minimálna prestávka - Vynútenie minimálnej dĺžky prestávky
- Tlačidlá na dashboarde - Virtuálny príchod/odchod priamo v systéme bez fyzickej karty
1.3 Cieľová skupina
Táto dokumentácia je určená pre:
- Administrátorov systému - Konfigurácia modulu, správa čítačiek, nastavenie bezpečnosti
- Personalistov - Správa používateľských práv, nastavenie kódov čipov, kontrola fotografií
- IT administrátorov - Inštalácia RasPi terminálov, nastavenie siete, aktualizácia firmware
- Vedúcich pracovníkov - Kontrola dochádzky, schvaľovanie výnimiek
admin=1) alebo musí byť uvedený v poli AdminToModules_ser_arr s hodnotou dochazka_cipy.
2. Nastavenie a konfigurácia
2.1 Nastavenie modulu
Cesta k nastaveniu: Nastavenia → Dochádzka - čip/čítačka odtlačkov prstov
Modul využíva nasledujúce konfiguračné parametre uložené v databázovej tabuľke Company a User:
Parametre tabuľky Company
| Parameter | Typ | Popis | Predvolená hodnota |
|---|---|---|---|
wa_RasPi_Face |
boolean | Zapnúť rozpoznávanie tváre (vyžaduje RasPi s kamerou) | 0 (vypnuté) |
wa_RasPi_TakePhoto |
boolean | Vytvárať fotografie pri zápise z terminálu | 0 (vypnuté) |
wa_chip_allowed_ips_ser_arr |
array | Povolené IP adresy čítačiek (serializované pole) | ['all'] |
wa_chip_show_active |
boolean | Zobraziť stavy (prítomnosť) ostatných v čítačke | 0 (vypnuté) |
wa_chip_use_WDT_14 |
boolean | Umožniť zapisovať Obedy oddelene od Prestávok | 0 (vypnuté) |
wa_chip_buttons_on_dashboard |
boolean | Zobraziť tlačidlá Príchod/Odchod na hlavnom paneli | 0 (vypnuté) |
wa_chip_WritePause |
boolean | Zapisovať prestávku po návrate v ten istý deň | 0 (vypnuté) |
wa_chip_AutoCloseInLastDay |
boolean | Upozornenie a uzavretie dochádzky z predchádzajúceho dňa | 0 (vypnuté) |
wa_chip_ChiporFaceDetect |
string | Primárny režim detekcie ('c' = čip, 'f' = tvár) | 'c' (čip) |
Parametre tabuľky User
| Parameter | Typ | Popis | Predvolená hodnota |
|---|---|---|---|
wa_chip_code |
string | Bezpečnostný hash kód čipu zamestnanca | NULL |
wa_chip_last_inout |
enum | Aktuálny stav zamestnanca ('in', 'out') | 'out' |
wa_chip_minimal_pause_min |
int | Minimálna dĺžka prestávky v minútach | NULL |
wa_chip_last_poznamka |
string | Posledná poznámka pri zapípnutí | NULL |
wa_chip_AllowManualType_ser_arr |
array | Povolené typy dochádzky pre ručný zápis (serializované pole) | [] |
rights_workattendance |
enum | Práva dochádzky ('1' = len čip, '2' = aj ručný zápis) | '2' |
FingerPrints_ser_arr |
array | Uložené odtlačky prstov (serializované pole) | [] |
2.2 Používateľské práva
Pre prístup k nastaveniu modulu je potrebné splniť jednu z nasledujúcich podmienok:
- Práva administrátora:
$Logged_User->admin == 1 - Správca modulu:
in_array('dochazka_cipy', $Logged_User->AdminToModules_ser_arr)
DieUnauthorized().
3. Používateľské rozhraní
3.1 Prehľad záložiek
Používateľské rozhranie modulu je rozdelené do 5 hlavných záložiek:
- Používateľské práva - Nastavenie kódov čipov, odtlačkov prstov, zabránenie ručným úpravám
- Povolené IP adresy - Whitelist IP adries čítačiek
- Navyše povolené tlačidlá - Konfigurácia tlačidiel na termináli
- Ostatné nastavenia - Všeobecné nastavenia modulu
- Registrované čítačky - Prehľad RasPi terminálov
$_SESSION['nastaveni_dochazka_cipy']['Show'].
3.2 Záložka: Používateľské práva
Hlavná záložka pre nastavenie prístupu zamestnancov k dochádzkovému systému.
Detekcia používateľa
Systém podporuje 3 spôsoby identifikácie zamestnanca:
| Metóda | Popis | Požiadavky | Stav |
|---|---|---|---|
| Podľa čipu (RFID/NFC) | Štandardná čipová karta | Čítačka RFID/NFC | Vždy zapnuté |
| Podľa tváre | AI rozpoznávanie tváre pomocou face-api.js | RasPi terminál s kamerou, wa_RasPi_Face=1 |
Voliteľné |
| Podľa odtlačku prsta | Biometrická čítačka odtlačkov | RasPi s čítačkou odtlačkov, FingerPrintReader=1 |
Voliteľné |
Tabuľka zamestnancov
Tabuľka obsahuje nasledujúce stĺpce:
| Stĺpec | Popis | Akcie |
|---|---|---|
| ID | ID zamestnanca v systéme | - |
| Priezvisko, meno | Celé meno s odkazom na detail používateľa | Kliknutím otvoríte detail zamestnanca |
| Kód čipu | Bezpečnostný hash kód čipu |
|
| Odtlačok prsta | Indikátor, či má zamestnanec uložené odtlačky | Zobrazuje 0/1 podľa sizeofSafe($User->FingerPrints_ser_arr) |
| Zabrániť úpravám | Checkbox pre zabránenie ručným úpravám dochádzky |
|
| Minimálna dĺžka prestávky | Počet minút minimálnej prestávky | Zadajte číslo (napr. 30), zmena sa automaticky uloží |
| Akcie | Špeciálne akcie pre zamestnanca |
|
Tlačidlo: Ručne môže zapisovať len typ dochádzky...
Toto tlačidlo sa zobrazí len u zamestnancov, ktorí majú začiarknuté Zabrániť úpravám pracovnej doby.
Funkcia: Otvorí modálne okno pre výber typov dochádzky, ktoré môže zamestnanec zapisovať ručne aj napriek zabráneniu ručným úpravám.
Typické použitie:
- Dovolenka (zamestnanec si môže zadať dovolenku ručne)
- Choroba (zamestnanec si môže zadať chorobu ručne)
- Homeoffice (zamestnanec si môže zadať homeoffice ručne)
3.3 Záložka: Povolené IP adresy
Táto záložka slúži na nastavenie bezpečnostného whitelistu IP adries, z ktorých sa môžu čítačky hlásiť do systému.
Hlavný checkbox
Povoliť prístup čítačky len z nižšie uvedených IP adries
- Začiarknuté: Systém kontroluje IP adresu požiadavky proti whitelistu
- Nezačiarknuté: Prístup je povolený zo všetkých IP adries (
wa_chip_allowed_ips_ser_arr = ['all'])
Dynamické pole IP adries
Po začiarknutí hlavného checkboxu sa zobrazí pole pre zadanie IP adries:
- Každá IP adresa má vlastné textové pole
- Po vyplnení sa automaticky zobrazí ďalšie prázdne pole
- Zmeny sa ukladajú automaticky (AJAX)
- Vždy sú viditeľné minimálne 2 prázdne polia na pridanie ďalších IP
Príklad nastavenia:
192.168.1.100
192.168.1.101
10.0.0.50
3.4 Záložka: Navyše povolené tlačidlá
Konfigurácia dodatočných tlačidiel na dochádzkovom termináli pre špeciálne typy dochádzky (lekár, služobná cesta atď.).
Tlačidlo: Pridať tlačidlo
Otvorí modálne okno pre pridanie nového tlačidla:
- Vyberte Typ dochádzky z rozbaľovacieho zoznamu (načítavajú sa len typy s
chip_buttons_available=1) - Kliknite na Uložiť
- Tlačidlo sa objaví na termináli a v tabuľke
Tabuľka tlačidiel
Zobrazuje všetky nakonfigurované tlačidlá s nasledujúcimi stĺpcami:
| Stĺpec | Popis | Možnosti |
|---|---|---|
| Tlačidlo | Názov typu dochádzky | Napr. "Lekár", "Služobná cesta" |
| Automatické ukončenie k počtu pracovných hodín za deň | Systém dopočíta koniec podľa denného úväzku |
|
| Automatické ukončenie k zadanému času | Pevný čas ukončenia |
|
| Pevne daná dĺžka v min | Konkrétny počet minút |
|
| Akcie | Tlačidlo pre odstránenie |
|
Režimy automatického ukončenia - podrobne
1. K počtu pracovných hodín za deň
Ako to funguje:
- Systém načíta denný úväzok zamestnanca (napr. 8 hodín)
- Pri zapípnutí príchodu zaznamená čas (napr. 7:00)
- Automaticky vypočíta koniec: 7:00 + 8h = 15:00
- Ak zamestnanec nezapíše odchod do polnoci, systém automaticky ukončí v 15:00
Príklad použitia: Služobná cesta - zamestnanec odíde na cestu, systém ukončí dobu automaticky podľa jeho úväzku.
2. K zadanému času
Ako to funguje:
- Administrátor nastaví pevný čas ukončenia (napr. 15:30)
- Pri zapípnutí príchodu zaznamená čas (napr. 7:00)
- Ak zamestnanec nezapíše odchod do polnoci, systém automaticky ukončí v 15:30
Príklad použitia: Konferencia - všetci účastníci majú pevný koniec v 16:00.
3. Pevne daná dĺžka
Ako to funguje:
- Administrátor nastaví počet minút (napr. 60)
- Pri zapípnutí príchodu zaznamená čas (napr. 9:00)
- Systém automaticky ukončí za 60 minút: 9:00 + 60 min = 10:00
Príklad použitia: Lekár - zamestnanec ide k lekárovi, systém ukončí za 60 minút.
3.5 Záložka: Ostatné nastavenia
Všeobecné nastavenia modulu ovplyvňujúce správanie celého systému.
| Nastavenie | Popis | Predvolená hodnota |
|---|---|---|
| Zobraziť stavy (prítomnosť) ostatných v čítačke |
Na termináli sa zobrazí zoznam všetkých zamestnancov s ich aktuálnym stavom (prítomný/neprítomný).
Databázový stĺpec: wa_chip_show_active
|
Vypnuté (0) |
| Umožniť zapisovať Obedy oddelene od Prestávok |
Zamestnanec môže na termináli rozlíšiť medzi všeobecnou prestávkou a obedom (špeciálny typ prestávky).
Databázový stĺpec: wa_chip_use_WDT_14Typ dochádzky: WDT_14 (Obed) |
Vypnuté (0) |
| Zobraziť tlačidlá Príchod/Odchod na hlavnom paneli po prihlásení |
Každý zamestnanec uvidí po prihlásení na dashboarde tlačidlá na zapípnutie príchodu/odchodu bez nutnosti fyzickej karty.
Databázový stĺpec: wa_chip_buttons_on_dashboardPoužitie: Vhodné pre zamestnancov pracujúcich z domu alebo bez prístupu k terminálu |
Vypnuté (0) |
| Zapisovať prestávku po návrate v ten istý deň |
Ak zamestnanec odpípe odchod a potom znova príchod v ten istý deň, systém automaticky zaznamená čas medzi ako prestávku.
Databázový stĺpec: wa_chip_WritePausePríklad: Odchod 12:00, Príchod 12:30 → Prestávka 30 min |
Vypnuté (0) |
| Fotografia pri zápise dochádzky z terminálu |
Pri každom zapípnutí z RasPi terminálu sa vytvorí fotografia zamestnanca. Slúži na detekciu zneužitia kariet (kontrola, že kartu používa skutočný majiteľ).
Databázový stĺpec: wa_RasPi_TakePhotoPožiadavky: RasPi terminál s kamerou |
Vypnuté (0) |
| Upozornenie a uzavretie dochádzky z predchádzajúceho dňa |
Ak zamestnanec zabudne odpípať odchod včera a dnes zapíše nový príchod, systém zobrazí upozornenie a vyžaduje doplnenie včerajšieho odchodu s nadriadeným.
Databázový stĺpec: wa_chip_AutoCloseInLastDayÚčel: Prevencia "visiacich" záznamov v dochádzke |
Vypnuté (0) |
- Zapnite Fotografia pri zápise - odhalí zneužitie kariet
- Zapnite Upozornenie a uzavretie z predchádzajúceho dňa - zabráni chybám v dochádzke
- Nastavte Minimálnu dĺžku prestávky (napr. 30 min) - vynucuje obed
3.6 Záložka: Registrované čítačky
Prehľad všetkých RasPi terminálov registrovaných v systéme.
Tabuľka čítačiek
| Stĺpec | Popis |
|---|---|
| ID | Unikátny identifikátor čítačky v databáze (idRasPi) |
| Dátum obstarania | Dátum inštalácie/registrácie čítačky (BuyDate) |
| Inštalovaná verzia FW | Verzia firmware nainštalovaná na RasPi (Version) |
| Posledná kontrola | Dátum a čas poslednej komunikácie s čítačkou (LastCheck) |
RasPi podľa Company_idCompany.
Diagnostika čítačiek
Podľa stĺpca Posledná kontrola môžete diagnostikovať problémy:
- Zelená: Čítačka sa hlásila v poslednej hodine - všetko v poriadku
- Žltá: Čítačka sa nehlásila viac ako hodinu - možný problém so sieťou
- Červená: Čítačka sa nehlásila viac ako deň - závažný problém (vypnuté, sieť, hardvér)
- Skontrolujte sieťové pripojenie RasPi
- Overte, že je IP adresa RasPi v whiteliste (záložka "Povolené IP adresy")
- Skontrolujte, či je RasPi zapnuté a beží
- Skúste reštartovať RasPi
4. Základné operácie
4.1 Nastavenie kódu čipu zamestnancovi
Cieľ: Priradiť zamestnancovi bezpečnostný kód čipu, aby mohol zapisovať dochádzku.
- Otvorte Nastavenia → Dochádzka - čip/čítačka odtlačkov prstov
- Prejdite na záložku Používateľské práva
- V tabuľke zamestnancov nájdite požadovaného zamestnanca (môžete použiť vyhľadávanie)
- Do stĺpca Kód čipu zadajte bezpečnostný hash kód (odporúčané minimálne 16 znakov, náhodné)
- Systém automaticky uloží zmenu pri opustení poľa (onChange event)
- Voliteľne: Kliknite na ikonu schránky (fa-clipboard) pre skopírovanie API URL na testovanie
https://vasa-domena.sk/?w=wa_chip_inout&idUser=123&hash=abc123xyz789def456
4.2 Zabránenie ručným úpravám dochádzky
Cieľ: Nastaviť zamestnancovi prísny režim, kde môže zapisovať dochádzku len čipom.
- V záložke Používateľské práva nájdite zamestnanca
- V riadku zamestnanca začiarknite checkbox Zabrániť úpravám pracovnej doby v dochádzke
- Systém nastaví
rights_workattendance='1' - Zobrazí sa zelené tlačidlo Ručne môže zapisovať len typ dochádzky...
- Kliknite na tlačidlo
- V modálnom okne začiarknite povolené typy (napr. Dovolenka, Choroba, Homeoffice)
- Kliknite na Uložiť
Výsledok: Zamestnanec teraz nemôže ručne upravovať dochádzku, ale môže si ručne zadať vybrané typy absencie.
wa_chip_AllowManualType_ser_arr. Pri pokuse o ručný zápis systém kontroluje, či je typ povolený.
4.3 Nastavenie minimálnej prestávky
Cieľ: Vynútiť minimálnu dĺžku prestávky (napr. obed minimálne 30 minút).
- V záložke Používateľské práva nájdite zamestnanca
- Do stĺpca Minimálna dĺžka prestávky (minút) zadajte počet minút (napr. 30)
- Systém automaticky uloží zmenu
Ako to funguje:
- Zamestnanec odpípe prestávku (napr. 12:00 - 12:10 = 10 minút)
- Systém skontroluje
wa_chip_minimal_pause_min(napr. 30) - Ak je prestávka kratšia, automaticky ju predĺži na minimum (10 min → 30 min)
- V zápise dochádzky sa objaví prestávka 30 minút
4.4 Reset stavu príchod/odchod
Cieľ: Resetovať "visiaci" stav zamestnanca, ktorý zabudol odpípať odchod.
- V záložke Používateľské práva nájdite zamestnanca
- Ak je zamestnanec v stave "in" (prítomný), zobrazí sa tlačidlo Resetovať (pre príchod)
- Kliknite na tlačidlo
- Systém zmení stav na "out" (neprítomný)
- Zamestnanec teraz môže znova odpípať príchod
Kedy použiť:
- Zamestnanec zabudol odpípať odchod včera
- Systém "visí" v stave "in" a neumožňuje nový príchod
- Potrebujete rýchlo odblokovať zamestnanca
wa_chip_last_inout='out'. Nerieši chýbajúci zápis v dochádzke - ten musíte doplniť ručne v module Dochádzka.
5. Pokročilé funkcie
5.1 Pridanie tlačidla na čítačku
Cieľ: Pridať špeciálny typ dochádzky (napr. Lekár, Služobná cesta) ako tlačidlo na RasPi terminál.
- Prejdite na záložku Navyše povolené tlačidlá na čítačke čipov
- Kliknite na zelené tlačidlo Pridať tlačidlo
- V modálnom okne vyberte Typ dochádzky z rozbaľovacieho zoznamu
- Kliknite na Uložiť
- Tlačidlo sa zobrazí v tabuľke
- Nastavte režim automatického ukončenia (pozri nižšie)
Nastavenie automatického ukončenia
Po pridaní tlačidla vyberte jeden z 3 režimov:
A) K počtu pracovných hodín za deň
- Začiarknite radio button v stĺpci Automatické ukončenie k počtu pracovných hodín za deň
- Systém dopočíta koniec podľa denného úväzku zamestnanca
- Príklad: Služobná cesta - zamestnanec má úväzok 8h, odíde v 9:00 → auto koniec 17:00
B) K zadanému času
- Začiarknite radio button v stĺpci Automatické ukončenie k zadanému času
- Do časového poľa nižšie zadajte čas (napr. 15:30)
- Príklad: Školenie - všetci majú pevný koniec v 16:00
C) Pevne daná dĺžka
- Začiarknite radio button v stĺpci Pevne daná dĺžka v min
- Do číselného poľa nižšie zadajte počet minút (napr. 60)
- Príklad: Lekár - automaticky ukončiť za 60 minút
- Služobná cesta → K počtu pracovných hodín
- Školenie/Konferencia → K zadanému času
- Lekár/Úrad → Pevne daná dĺžka (60-120 min)
5.2 Odstránenie tlačidla
- V tabuľke tlačidiel nájdite riadok s tlačidlom, ktoré chcete odstrániť
- Kliknite na červené tlačidlo Odstrániť tlačidlo
- Tlačidlo sa odstráni z databázy a zmizne z terminálu
5.3 Obmedzenie IP adries
Cieľ: Povoliť prístup k API len z dôveryhodných IP adries (čítačiek).
- Prejdite na záložku Povolené IP adresy, z ktorých sa môže čítačka hlásiť
- Začiarknite Povoliť prístup čítačky len z nižšie uvedených IP adries
- Do prvého prázdneho poľa zadajte IP adresu čítačky (napr. 192.168.1.100)
- Po zapísaní sa automaticky zobrazí ďalšie prázdne pole
- Opakujte pre všetky čítačky
- Zmeny sa ukladajú automaticky
Bezpečnostná kontrola v kóde:
// Systém kontroluje USER_IP proti wa_chip_allowed_ips_ser_arr
if (!in_array(USER_IP, $Company->wa_chip_allowed_ips_ser_arr)
&& $Company->wa_chip_allowed_ips_ser_arr[0] != 'all') {
DieUnauthorized();
}
5.4 Zapnutie rozpoznávania tváre
Cieľ: Umožniť zamestnancom zapípať dochádzku pomocou tváre bez čipu.
Požiadavky:
- RasPi terminál s kamerou
- Fotografie zamestnancov v systéme (minimálne 1 fotka na zamestnanca)
- JavaScript knižnica face-api.js (súčasť systému)
Postup aktivácie:
- Prejdite na záložku Používateľské práva
- V záhlaví tabuľky začiarknite Podľa tváre (nutná naša čítačka)
- Systém nastaví
wa_RasPi_Face=1 - Na RasPi termináli sa aktivuje kamera a detekcia tváre
Ako to funguje:
- Zamestnanec pristúpi pred kameru RasPi
- Systém načíta všetky uložené fotografie zamestnancov
- Face-api.js deteguje tvár v živom videu
- Porovná detegovanú tvár s uloženými fotografiami (threshold 0.4)
- Pri zhode automaticky zapíše dochádzku
- Knižnica: face-api.js v0.22.2
- Model: SsdMobilenetv1 (rýchly, presný)
- Threshold: 0.4 (40% zhoda = rozpoznanie)
- Fotografie: Načítavajú sa z
/UserFaceRecognitionShow/{hash}-{photoID}.png
5.5 Zobrazenie stavov ostatných
Cieľ: Na termináli zobraziť, kto je prítomný a kto nie.
- Prejdite na záložku Ostatné nastavenia
- Začiarknite Zobraziť stavy (prítomnosť) ostatných v čítačke
- Systém nastaví
wa_chip_show_active=1
Výsledok: Na RasPi termináli sa zobrazí zoznam všetkých zamestnancov:
- Zelená: Prítomný (wa_chip_last_inout='in')
- Červená: Neprítomný (wa_chip_last_inout='out')
- Zamestnanci vidia, kto je v práci
- Rýchla orientácia pre návštevy
- Transparentnosť dochádzky
5.6 Tlačidlá na dashboarde
Cieľ: Umožniť zamestnancom zapípať dochádzku priamo z webového rozhrania bez fyzickej karty.
- Prejdite na záložku Ostatné nastavenia
- Začiarknite Zobraziť tlačidlá Príchod/Odchod na hlavnom paneli po prihlásení
- Systém nastaví
wa_chip_buttons_on_dashboard=1
Výsledok: Po prihlásení uvidí každý zamestnanec na dashboarde:
- Zelené tlačidlo "Príchod" (ak je stav 'out')
- Červené tlačidlo "Odchod" (ak je stav 'in')
Použitie:
- Homeoffice - zamestnanec nemá prístup k čítačke
- Mobilní zamestnanci - zapípnutie z mobilu/tabletu
- Administrativa - záložný sposób zápisu
5.7 Fotografia pri zápise
Cieľ: Vytvárať bezpečnostnú fotografiu pri každom zapípnutí na detekciu zneužitia kariet.
- Prejdite na záložku Ostatné nastavenia
- Začiarknite Fotografia pri zápise dochádzky z terminálu
- Systém nastaví
wa_RasPi_TakePhoto=1
Ako to funguje:
- Zamestnanec priloží čip k čítačke
- RasPi kamera vytvorí fotografiu
- Fotografia sa nahrá na server
- Uloží sa do tabuľky
Filess väzbou na záznam dochádzky - Administrátor môže fotografie skontrolovať v module Dochádzka
Detekcia zneužitia:
- Na fotografii je iná osoba ako majiteľ karty → zneužitie
- Fotografia je rozmazaná/prázdna → pokus o obídenie systému
- Opakované fotografie tej istej osoby s cudzou kartou → pravidelné zneužitie
6. Integrácia
6.1 Prepojené moduly
| Modul | Vzťah | Popis |
|---|---|---|
| Dochádzka | Zápis dát |
Automatický zápis časov príchodu/odchodu do tabuľky Workattendance.Ak je zapnuté wa_chip_WritePause=1, zapisuje sa aj dĺžka prestávky.
|
| Používatelia | Väzba na zamestnancov |
Načítavanie používateľských dát (cUser trieda):- Kód čipu ( wa_chip_code)- Odtlačky prstov ( FingerPrints_ser_arr)- Práva dochádzky ( rights_workattendance)- Minimálna prestávka ( wa_chip_minimal_pause_min)
|
| RasPi terminály | Fyzická čítačka |
Správa RasPi zariadení (cRasPi trieda):- Verzia firmware ( Version)- Posledná kontrola ( LastCheck)- Čítačka odtlačkov ( FingerPrintReader)- API endpoint ( GetUrl())
|
| Typy dochádzky | Tlačidlá na čítačke |
Načítavanie typov dochádzky (cWorkattendance_days_type):- Názov typu ( day_name_cs)- Dostupnosť na čítačke ( chip_buttons_available)- Väzba cez tabuľku Workattendance_chip_buttons
|
| Súbory | Fotografie pri zápise |
Ukladanie fotografií z terminálu: - Tabuľka Files- Väzba na záznam dochádzky - Prístup cez modul Dochádzka |
6.2 Dátové toky
Tok 1: Zapípnutie čipom z RasPi terminálu
1. Zamestnanec priloží čip k RasPi čítačke
↓
2. RasPi načíta kód čipu z RFID/NFC
↓
3. RasPi volá API endpoint:
GET /?w=wa_chip_inout&idUser=123&hash=abc123xyz
↓
4. inc/wa_chip_inout.php spracuje požiadavku:
- Overí hash proti User.wa_chip_code
- Overí IP adresu proti wa_chip_allowed_ips_ser_arr
- Skontroluje stav wa_chip_last_inout
↓
5. Zápis do tabuľky Workattendance:
- Príchod: Vytvorí nový záznam s time_start
- Odchod: Doplní time_end do existujúceho záznamu
↓
6. Aktualizácia User.wa_chip_last_inout:
- 'in' → 'out' alebo 'out' → 'in'
↓
7. Ak wa_RasPi_TakePhoto=1:
- RasPi vytvorí fotografiu
- Nahrá na server
- Uloží do tabuľky Files
↓
8. Odpoveď RasPi terminálu:
- HTML stránka s potvrdením
- Zobrazenie času zápisu
- Zoznam prítomných (ak wa_chip_show_active=1)
Tok 2: Zapípnutie z dashboardu (webové rozhranie)
1. Zamestnanec klikne na tlačidlo "Príchod" na dashboarde
↓
2. JavaScript volá AJAX:
$.get('/?w=wa_chip_inout&idUser='+idUser+'&hash='+hash)
↓
3. inc/wa_chip_inout.php spracuje rovnako ako RasPi
↓
4. Zápis do Workattendance
↓
5. Aktualizácia wa_chip_last_inout
↓
6. Odpoveď AJAX:
- Dashboard sa obnoví
- Zobrazí sa nový stav ("Odchod" namiesto "Príchod")
Tok 3: Rozpoznávanie tváre (Face Recognition)
1. Zamestnanec pristúpi pred kameru RasPi
↓
2. RasPi streamuje video na server
↓
3. JavaScript face-api.js:
- Načíta všetky fotografie zamestnancov
- Vytvorí FaceMatcher s uloženými tvárami
- Deteguje tvár v živom videu
- Porovná s uloženými tvárami
↓
4. Pri zhode (threshold > 0.4):
window.location.replace('?w=wa_chip_inout&FaceDetection='+hash)
↓
5. Server spracuje FaceDetection parameter:
- Nájde idUser podľa hashu
- Načíta wa_chip_code
- Zapíše dochádzku
↓
6. Rovnaký tok ako Tok 1 (krok 5-8)
6.3 Závislosti
| Komponenta | Závislosť | Povinná |
|---|---|---|
| RasPi terminál | Fyzické zariadenie s čítačkou RFID/NFC | Áno |
| Dochádzkovový modul | Musí byť aktívny pre zápis dát | Áno |
| Používatelia | Zamestnanci musia mať práva dochádzky | Áno |
| RasPi s kamerou | Pre rozpoznávanie tváre a fotografie | Voliteľné |
| Čítačka odtlačkov | Pre biometrickú identifikáciu | Voliteľné |
| face-api.js | Knižnica pre rozpoznávanie tváre | Voliteľné |
| Sieťové pripojenie | RasPi musí mať prístup na server | Áno |
7. API endpoint
7.1 Hlavný endpoint
URL formát:
https://vasa-domena.sk/?w=wa_chip_inout&idUser={ID}&hash={HASH}
7.2 Parametre
| Parameter | Typ | Povinný | Popis |
|---|---|---|---|
w |
string | Áno |
Identifikátor endpointu Hodnota: wa_chip_inout
|
idUser |
int | Áno |
ID zamestnanca v systéme Príklad: 123
|
hash |
string | Áno |
Bezpečnostný hash kód čipu Zodpovedá: User.wa_chip_codePríklad: abc123xyz789def456
|
idWorkattendance_chip_buttons |
int | Nie |
ID tlačidla na čítačke (špeciálny typ dochádzky) Príklad: 5 (Lekár)
|
FaceDetection |
string | Nie |
Hash rozpoznanej tváre Formát: {userHash}-{photoID}Príklad: abc123-1
|
FingerID |
int | Nie |
ID rozpoznaného odtlačku prsta Príklad: 7
|
wa_chip_action |
string | Nie |
Špecifická akcia (napr. ručný výber poznámky) Hodnoty: note, pause
|
7.3 Bezpečnostné kontroly
API endpoint vykonáva nasledujúce bezpečnostné kontroly:
- Overenie hashu:
if ($User->wa_chip_code != $_GET['hash']) { DieUnauthorized(); } - Kontrola IP adresy:
if (!in_array(USER_IP, $Company->wa_chip_allowed_ips_ser_arr) && $Company->wa_chip_allowed_ips_ser_arr[0] != 'all') { DieUnauthorized(); } - Kontrola existencie používateľa:
$User = new cUser(); $User->load($_GET['idUser']); if ($User->idUser == 0) { DieUnauthorized(); } - Kontrola aktívneho účtu:
if ($User->active != 1 || $User->deleted != 0) { DieUnauthorized(); }
7.4 Odpoveď API
API vracia HTML stránku s nasledujúcimi informáciami:
- Hodiny a dátum: Aktuálny čas a dátum (JavaScript hodiny)
- Potvrdenie zápisu: "Príchod zaznamenaný" / "Odchod zaznamenaný"
- Čas zápisu: Presný čas zapípnutia
- Zoznam prítomných: Ak
wa_chip_show_active=1 - Fotografia: Ak
wa_RasPi_TakePhoto=1, zobrazí sa náhľad fotografie
7.5 Príklady volania
Príklad 1: Bežný príchod
GET https://firma.sk/?w=wa_chip_inout&idUser=45&hash=x7k9mN2pQ5rT8vW1
Príklad 2: Odchod k lekárovi (tlačidlo ID=3)
GET https://firma.sk/?w=wa_chip_inout&idUser=45&hash=x7k9mN2pQ5rT8vW1&idWorkattendance_chip_buttons=3
Príklad 3: Rozpoznanie tváre
GET https://firma.sk/?w=wa_chip_inout&FaceDetection=abc123def456-1
Príklad 4: Odtlačok prsta
GET https://firma.sk/?w=wa_chip_inout&idUser=45&hash=x7k9mN2pQ5rT8vW1&FingerID=7
8. RasPi terminál
8.1 Popis zariadenia
RasPi (Raspberry Pi) terminál je kompaktný počítač veľkosti kreditnej karty, ktorý slúži ako fyzická dochádzková čítačka.
Hardvérové komponenty
| Komponenta | Popis | Povinná |
|---|---|---|
| Raspberry Pi | Základná doska (odporúčané RPi 4 alebo novšie) | Áno |
| Čítačka RFID/NFC | Modul na čítanie čipových kariet (napr. RC522) | Áno |
| Displej | Touchscreen displej na zobrazenie tlačidiel a stavov | Áno |
| Kamera | Pi Camera na fotografovanie a rozpoznávanie tváre | Voliteľné |
| Čítačka odtlačkov | Biometrická čítačka odtlačkov prstov (napr. R307) | Voliteľné |
| Sieťové pripojenie | Ethernet alebo WiFi na komunikáciu so serverom | Áno |
8.2 Funkcie terminálu
Základné funkcie
- Čítanie čipov: Automatická detekcia RFID/NFC kariet
- Zobrazenie času: Aktuálny čas a dátum
- Tlačidlá typov dochádzky: Príchod, Odchod, Prestávka, Obed + konfigurovateľné tlačidlá
- Potvrdenie zápisu: Vizuálna a zvuková signalizácia úspešného zápisu
- Zoznam prítomných: Zobrazenie, kto je v práci (ak zapnuté)
Pokročilé funkcie (voliteľné)
- Rozpoznávanie tváre: AI detekcia pomocou kamery a face-api.js
- Čítanie odtlačkov: Biometrická identifikácia pomocou odtlačkov prstov
- Fotografovanie: Vytvorenie bezpečnostnej fotografie pri každom zapípnutí
- Video stream: Živé video z kamery na rozpoznávanie tváre
8.3 Správa terminálu
Registrácia nového terminálu
- Fyzicky pripojte RasPi k sieti (Ethernet alebo WiFi)
- Spustite inštalačný skript na RasPi
- RasPi sa automaticky zaregistruje na serveri:
POST https://firma.sk/RestAPI/RasPi.php
{
"action": "register",
"hash": "E5tlu8Jg44ZwwlBQgSbCE3lU7RSRvMXa"
}
- V administrácii sa zobrazí nový terminál v záložke Registrované čítačky
Kontrola stavu terminálu
Terminál sa pravidelne hlási na server (každých 5 minút):
GET https://firma.sk/RestAPI/RasPiCheck.php?hash={hash}
Server aktualizuje stĺpec LastCheck v tabuľke RasPi.
Aktualizácia firmware
- Prihláste sa na RasPi cez SSH
- Spustite príkaz:
sudo /home/pi/UpdateFromeIntranetServer - Skript stiahne najnovšiu verziu z:
https://firma.sk/Apps/RasPiUpdate/ - Automaticky reštartuje služby
- Verzia sa aktualizuje v databáze (
Versionstĺpec)
8.4 API URL terminálu
Každý RasPi terminál má unikátne API URL:
https://firma.sk/RasPi/{HASH}/RFID/WorkAttenDance
Kde {HASH} je bezpečnostný identifikátor terminálu (napr. E5tlu8Jg44ZwwlBQgSbCE3lU7RSRvMXa).
Použitie:
- RasPi načíta čip s kódom
12345 - RasPi volá:
https://firma.sk/?w=wa_chip_inout&idUser=45&hash=12345 - Server overí a zapíše dochádzku
- RasPi zobrazí potvrdenie
8.5 Diagnostika problémov
Problém: Terminál sa nehlási
Príznaky: V záložke "Registrované čítačky" je starý čas v stĺpci "Posledná kontrola"
Riešenie:
- Skontrolujte sieťové pripojenie RasPi (ping server)
- Overte, že je IP adresa RasPi v whiteliste
- Skontrolujte logy na RasPi:
/var/log/eintranet/ - Reštartujte RasPi:
sudo reboot
Problém: Čítačka nečíta čipy
Príznaky: Priloženie čipu nevyvolá žiadnu reakciu
Riešenie:
- Skontrolujte fyzické pripojenie čítačky k RasPi
- Overte, že beží služba čítačky:
sudo systemctl status rfid - Reštartujte službu:
sudo systemctl restart rfid - Skontrolujte, že čip je kompatibilný (RFID/NFC 13.56 MHz)
Problém: Rozpoznávanie tváre nefunguje
Príznaky: Kamera nezobrazuje video alebo nerozpoznáva tváre
Riešenie:
- Overte, že je v nastavení zapnuté:
wa_RasPi_Face=1 - Skontrolujte pripojenie kamery k RasPi
- Overte, že zamestnanci majú nahrané fotografie v systéme
- Skontrolujte JavaScript konzolu v prehliadači na chyby
- Skúste znížiť threshold: upravte
minConfidence = 0.3(namiesto 0.4)
9. Tipy a triky
9.1 Kopírovanie API URL
Tip: V záložke "Používateľské práva" kliknite na ikonu schránky (fa-clipboard) vedľa kódu čipu. URL sa skopíruje do schránky.
Použitie: Môžete URL otvoriť v prehliadači na ručné testovanie zapípnutia bez fyzickej čítačky.
9.2 Testovanie bez RasPi terminálu
Postup:
- Skopírujte API URL zamestnanca
- Otvorte URL v prehliadači
- Systém zapíše dochádzku ako z RasPi
9.3 Reset "visiacich" stavov hromadne
Situácia: Viac zamestnancov zabudlo odpípať odchod a systém je v stave "in".
Riešenie SQL dotazom:
UPDATE User
SET wa_chip_last_inout='out'
WHERE Company_idCompany=123
AND wa_chip_last_inout='in';
Poznámka: Toto len resetuje stavy, nerieši chýbajúce záznamy v dochádzke.
9.4 Nastavenie minimálnej prestávky pre všetkých
Situácia: Chcete nastaviť minimálnu prestávku 30 minút pre všetkých zamestnancov.
Riešenie SQL dotazom:
UPDATE User
SET wa_chip_minimal_pause_min=30
WHERE Company_idCompany=123
AND active=1
AND deleted=0;
9.5 Exportovanie kódov čipov
Postup:
- V záložke "Používateľské práva" použite DataTables export
- Kliknite na tlačidlo "Excel" alebo "CSV"
- Stiahne sa súbor so všetkými kódmi čipov
9.6 Automatické tlačidlo pre homeoffice
Odporúčanie: Pridajte tlačidlo "Homeoffice" s automatickým ukončením k počtu pracovných hodín.
Výhoda: Zamestnanec zapíše homeoffice, systém automaticky ukončí podľa jeho úväzku.
9.7 Kombinácia čipu a tváre
Možnosť: Zapnite rozpoznávanie tváre aj čipu súčasne.
Výhoda:
- Zamestnanec môže použiť čip (rýchle)
- Alebo tvár (ak zabudol kartu)
- Systém podporuje oboje
9.8 Fotografia ako dôkaz
Tip: Ak máte spory o dochádzke, použite fotografie z terminálu ako dôkaz.
Prístup:
- Modul Dochádzka
- Detail záznamu
- Zobrazí sa fotografia vytvorená pri zapípnutí
9.9 Mobilná aplikácia ako alternatíva
Informácie: Systém podporuje aj mobilnú aplikáciu na zapípnutie dochádzky.
Výhoda:
- Zamestnanec nemusí mať čip
- Zapípnutie z telefónu odkiaľkoľvek
- GPS lokácia pri zápise (voliteľné)
9.10 Pravidelné čistenie starých fotografií
Tip: Fotografie zaberajú miesto na serveri. Nastavte automatické mazanie starších ako 3 mesiace.
Cron job:
DELETE FROM Files
WHERE table_name='Workattendance'
AND created < DATE_SUB(NOW(), INTERVAL 3 MONTH);
10. Riešenie problémov
10.1 Čip nefunguje
Príznaky: Priloženie čipu k čítačke nevyvolá žiadnu reakciu alebo sa zobrazí chyba.
Možné príčiny a riešenie:
| Príčina | Riešenie |
|---|---|
| Chybný alebo prázdny kód čipu |
Skontrolujte, že je v záložke "Používateľské práva" vyplnený Kód čipu. Musí presne zodpovedať kódu v čipe. |
| IP adresa čítačky nie je v whiteliste |
Prejdite na záložku "Povolené IP adresy". Pridajte IP adresu RasPi terminálu. Alebo vypnite IP whitelist (nezačiarknuté). |
| Čítačka nečíta čip |
Skontrolujte fyzické pripojenie čítačky k RasPi. Reštartujte službu RFID: sudo systemctl restart rfid
|
| Nekompatibilný čip |
Overte, že čip je RFID/NFC 13.56 MHz (napr. Mifare). Systém nepodporuje 125 kHz čipy. |
| Sieťový problém |
Skontrolujte pripojenie RasPi k sieti. Ping na server: ping vasa-domena.sk
|
Testovanie: Skopírujte API URL (ikona schránky) a otvorte v prehliadači. Ak funguje, problém je v RasPi/čítačke. Ak nefunguje, problém je v nastavení systému.
10.2 Zamestnanec nemôže zapisovať ručne
Príznaky: Pri pokuse o ručný zápis v module Dochádzka sa zobrazí chyba "Nemáte oprávnenie".
Možné príčiny a riešenie:
| Príčina | Riešenie |
|---|---|
| Začiarknuté "Zabrániť úpravám" |
V záložke "Používateľské práva" odčiarknite checkbox Zabrániť úpravám pracovnej doby. Alebo kliknite na Ručne môže zapisovať len typ dochádzky... a povoľte konkrétne typy. |
| Typ dochádzky nie je povolený |
Kliknite na Ručne môže zapisovať len typ dochádzky... Začiarknite požadovaný typ (napr. Dovolenka, Choroba). Kliknite Uložiť. |
| Nemá práva k dochádzke |
V administrácii používateľov skontrolujte, že má zamestnanec rights_workattendance nastavené.Musí byť '1' alebo '2' (nie NULL alebo 0). |
10.3 Prestávka sa automaticky predlžuje
Príznaky: Zamestnanec zapíše prestávku 15 minút, ale v systéme sa objaví 30 minút.
Príčina: Je nastavená minimálna dĺžka prestávky.
Riešenie:
- V záložke "Používateľské práva" nájdite zamestnanca
- V stĺpci Minimálna dĺžka prestávky (minút) vymažte hodnotu alebo znížte (napr. z 30 na 15)
- Systém automaticky uloží
Poznámka: Predĺženie prestávky je zamýšľaná funkcia, nie chyba. Slúži na vynútenie obeda.
10.4 Fotografie sa nevytváraju
Príznaky: V module Dochádzka u záznamov chýbajú fotografie, aj keď je funkcia zapnutá.
Možné príčiny a riešenie:
| Príčina | Riešenie |
|---|---|
| Nie je zapnuté v nastavení |
V záložke "Ostatné nastavenia" začiarknite Fotografia pri zápise dochádzky z terminálu. Skontrolujte, že wa_RasPi_TakePhoto=1.
|
| RasPi nemá kameru |
Overte, že je k RasPi fyzicky pripojená Pi Camera. Skontrolujte pripojenie kábla kamery. Spustite test kamery: raspistill -o test.jpg
|
| Služba kamery nebeží |
Skontrolujte stav: sudo systemctl status cameraReštartujte: sudo systemctl restart camera
|
| Chyba pri nahrávaní na server |
Skontrolujte logy RasPi: /var/log/eintranet/camera.logOverte sieťové pripojenie a oprávnenia k zápisu na serveri. |
| Zapípnutie z dashboardu |
Fotografie sa vytvárajú len pri zapípnutí z RasPi terminálu. Tlačidlá na dashboarde fotografie nevytvárajú (nemajú kameru). |
10.5 Terminál sa nehlási
Príznaky: V záložke "Registrované čítačky" je v stĺpci "Posledná kontrola" starý dátum/čas (viac ako hodinu).
Možné príčiny a riešenie:
| Príčina | Riešenie |
|---|---|
| RasPi je vypnuté |
Skontrolujte, že je RasPi pripojené k napájaniu a svieti LED. Skúste fyzicky reštartovať (odpojiť a zapojiť napájanie). |
| Sieťový problém |
Skontrolujte Ethernet kábel alebo WiFi pripojenie. Ping na server z RasPi: ping vasa-domena.skSkontrolujte firewall a router. |
| IP adresa nie je v whiteliste |
V záložke "Povolené IP adresy" pridajte IP adresu RasPi. Skontrolujte, že IP adresa RasPi sa nezmenila (DHCP). Odporúčame nastaviť statickú IP. |
| Služba check sa nespustila |
SSH na RasPi. Skontrolujte stav: sudo systemctl status eintranet-checkReštartujte: sudo systemctl restart eintranet-check
|
| Chyba v konfiguračnom súbore |
Skontrolujte konfiguráciu: /etc/eintranet/config.jsonOverte správnosť URL servera a hashu. |
10.6 Rozpoznávanie tváre nefunguje
Príznaky: Kamera zobrazuje video, ale systém nerozpoznáva žiadneho zamestnanca.
Možné príčiny a riešenie:
| Príčina | Riešenie |
|---|---|
| Nie je zapnuté v nastavení |
V záložke "Používateľské práva" začiarknite Podľa tváre (nutná naša čítačka). Skontrolujte, že wa_RasPi_Face=1.
|
| Chýbajú fotografie zamestnancov |
V administrácii používateľov skontrolujte, že majú zamestnanci nahrané fotografie. Minimálne 1 fotka na zamestnanca. Fotografie musia byť frontálne, dobre osvetlené, bez okuliarov/čiapky. |
| Zlé svetelné podmienky |
Zabezpečte dostatočné osvetlenie pred čítačkou. Vyhnite sa protisvetlu a tmavým miestam. Ideálne je rovnomerné denné svetlo. |
| Príliš vysoký threshold |
V súbore inc/wa_chip_inout.php znížte minConfidence:let minConfidence = 0.3 (namiesto 0.4)Pozor: Nižší threshold = viac falošných rozpoznaní. |
| JavaScript chyby |
Otvorte JavaScript konzolu v prehliadači (F12). Skontrolujte chybové hlásenia. Skúste iný prehliadač (odporúčaný Chrome). |
| Face-api.js sa nenačítala |
Skontrolujte, že existuje súbor:/_components/face-api.js-0.22.2/dist/face-api.min.jsSkontrolujte sieťové pripojenie (API načítava modely z CDN). |
10.7 Tlačidlá na dashboarde nie sú viditeľné
Príznaky: Po prihlásení na dashboard chýbajú tlačidlá Príchod/Odchod.
Možné príčiny a riešenie:
| Príčina | Riešenie |
|---|---|
| Nie je zapnuté v nastavení |
V záložke "Ostatné nastavenia" začiarknite Zobraziť tlačidlá Príchod/Odchod na hlavnom paneli. Skontrolujte, že wa_chip_buttons_on_dashboard=1.
|
| Cache prehliadača |
Obnovte stránku s vymazaním cache: Ctrl + F5 (Windows) alebo Cmd + Shift + R (Mac).Alebo vymažte cookies a cache v nastavení prehliadača. |
| Nemá vyplnený kód čipu |
V záložke "Používateľské práva" skontrolujte, že má zamestnanec vyplnený Kód čipu. Tlačidlá sa zobrazujú len používateľom s kódom čipu. |
| JavaScript chyba |
Otvorte JavaScript konzolu (F12). Skontrolujte chybové hlásenia. Skúste iný prehliadač. |
10.8 Automatické ukončenie nefunguje
Príznaky: Zamestnanec odpípe špeciálny typ (napr. Lekár), ale dochádzka sa automaticky neukončí.
Možné príčiny a riešenie:
| Príčina | Riešenie |
|---|---|
| Nie je nastavený režim |
V záložke "Navyše povolené tlačidlá" skontrolujte tlačidlo. Musí byť začiarknutý jeden z 3 radio buttonov (k hodinám, času alebo dĺžke). Ak nie je, začiarknite a nastavte hodnotu. |
| Zamestnanec odpípal odchod ručne |
Automatické ukončenie sa aplikuje len ak zamestnanec NEodpípal odchod do polnoci. Ak odpípal ručne, automatika sa nepoužije. |
| Cron job nebeží |
Automatické ukončenie vykonáva cron job (napr. o 00:01). Skontrolujte, že beží: crontab -lHľadajte riadok s wa_chip_autoclose.php (alebo podobný).
|
| Chybné nastavenie času |
U režimu "K zadanému času" skontrolujte formát času: HH:MMMusí byť validný čas (napr. 15:30, nie 25:00). |
10.9 Minimálna prestávka sa neuplatňuje
Príznaky: Zamestnanec má nastavenú minimálnu prestávku 30 min, ale systém akceptuje aj kratšie prestávky.
Možné príčiny a riešenie:
| Príčina | Riešenie |
|---|---|
| Nie je vyplnená hodnota |
V záložke "Používateľské práva" skontrolujte stĺpec Minimálna dĺžka prestávky. Musí byť číselná hodnota (napr. 30), nie prázdne pole. |
| Ručný zápis dochádzky |
Minimálna prestávka sa aplikuje len pri zapípnutí z terminálu. Pri ručnom zápise v module Dochádzka sa kontrola nevykonáva. |
| Logika nie je implementovaná |
Skontrolujte, že kód v inc/wa_chip_inout.php obsahuje kontrolu minimálnej prestávky.Hľadajte riadok s wa_chip_minimal_pause_min.
|
10.10 IP whitelist blokuje legitímny prístup
Príznaky: Čítačka nefunguje, aj keď je správne nakonfigurovaná. V logu je chyba "Unauthorized".
Možné príčiny a riešenie:
| Príčina | Riešenie |
|---|---|
| IP adresa nie je v zozname |
V záložke "Povolené IP adresy" pridajte IP adresu čítačky. Zistite skutočnú IP adresu RasPi: hostname -I
|
| Dynamická IP adresa (DHCP) |
IP adresa RasPi sa mohla zmeniť po reštarte. Odporúčame nastaviť statickú IP adresu v nastavení routera alebo na RasPi. |
| NAT/Proxy server |
Ak je RasPi za NAT/proxy, server vidí inú IP. Skontrolujte, akú IP vidí server: echo USER_IP v logu.Pridajte túto IP do whitelistu. |
| Formát IP adresy |
Skontrolujte správny formát: 192.168.1.100Nie: 192.168.1.100:80 alebo http://192.168.1.100
|
- Dočasne vypnite IP whitelist (odčiarknite checkbox)
- Skúste zapípať z čítačky
- Ak funguje → problém je v IP whiteliste
- Skontrolujte logy servera, akú IP vidí
- Pridajte správnu IP do whitelistu
- Znova zapnite whitelist