Saltar a contenido

Tecnologías — Control de Asistencia

  • Lenguaje: Python 3.10+
  • Comunicación con el reloj: pyzk 0.9 (protocolo ZKTeco sobre TCP 4370)
  • Scheduling: APScheduler 3.11.2 (BackgroundScheduler)
  • Transporte a Odoo: XML-RPC (biblioteca estándar), modelo zk.attendance.import
  • Zonas horarias: pytz 2026.2, tzdata 2026.2, tzlocal 5.3.1
  • Compatibilidad: future 1.0.0
  • Ejecución como servicio: NSSM 2.24 en Windows (descargado automáticamente por scripts/install_service.ps1)
  • Hardware: reloj biométrico ZKTeco F22 en la red local

Del lado de Odoo

La recepción la implementa el módulo con el modelo zk.attendance.import (método import_punches), que convierte a UTC y escribe en hr.attendance. Ver Aplicaciones → Odoo.

Dependencias

Del requirements.txt del repo:

APScheduler==3.11.2
future==1.0.0
pytz==2026.2
pyzk==0.9
tzdata==2026.2
tzlocal==5.3.1

Discrepancia con el README

El README.md del repo indica instalar pywin32, que no está en requirements.txt ni se importa en sync.py (la ejecución como servicio la resuelve NSSM, no pywin32). Instala siempre desde requirements.txt.