I have successfully integrated a ZKTeco MB30 biometric device with ERPNext v16 using the official Frappe Biometric Attendance Sync Tool (Python-based).
The synchronization works correctly when the device IP configured in local_config.py matches the current IP address of the MB30.
However, I noticed the following issue:
The MB30 is connected to the network via a LAN cable.
The device currently has DHCP enabled.
After the router is restarted or after certain network events, the MB30 receives a different IP address.
Once the IP changes, the Frappe Biometric Attendance Sync Tool cannot connect to the device until I manually update the IP address in local_config.py and restart the sync service.
This makes the setup unsuitable for a production environment because attendance synchronization stops whenever the device IP changes.
My Questions
What is the recommended production setup for using the Frappe Biometric Attendance Sync Tool with ZKTeco MB30 devices?
Should I disable DHCP on the biometric device and configure a static IP address?
Is it better to keep DHCP enabled and configure a DHCP Reservation (Static Lease) on the router instead?
How are others managing MB30 devices to ensure the IP address remains stable and the Frappe Biometric Attendance Sync Tool continues syncing automatically after router or device restarts?
I would appreciate recommendations and best practices from anyone using the Frappe Biometric Attendance Sync Tool with ZKTeco devices in a production ERPNext environment.