esprfid / esp-rfid

ESP8266 RFID (RC522, PN532, Wiegand, RDM6300) Access Control system featuring WebSocket, JSON, NTP Client, Javascript, SPIFFS
MIT License
1.35k stars 423 forks source link

RIFD working, keypad not? #492

Closed marktn closed 1 year ago

marktn commented 2 years ago

Hello,

What a nice project! I have the RIFD working, only it does not read keypad numbers? I added a pin code to the RIFD, but that didn't work.

esp-rfid Access Control 1.3.5

Any idea?

evazzoler commented 1 year ago

@matjack1 I've tested the latest release and I confirm that it is working like a charm! Users can now have pincodes only, fingerprint with or without pin confirmation and rfid tags with or without pin confirmation. This not affect the sercurity (you can choose to disable some functions) and give to esp-rfid a great flexibility! I want to say "thanks" and "compliments" to you: you solved an old important long-time-unsolved problem... I think this issue could be closed and marked as "fixed". Well done!

gorstj commented 1 year ago

Thanks also for sorting this. I can't find any compiled recent firmware's that may include these changes - any pointers?

matjack1 commented 1 year ago

sure @gorstj you can find it at the bottom of the page here: https://github.com/esprfid/esp-rfid/actions/runs/3534551723 :)

jw2013 commented 1 year ago

Thank you very much, @matjack1 , that also makes the project usable for my puposes now! One minor discovery though: When adding a pin to a RFID id, but requirePinCodeAfterRfid is not set, the card works as is, without requiring a pin. So same behaviour, as if there was no pin added to the account. So is the config field requirePinCodeAfterRfid really required, or shouldn't it be 'always on'? Accounts without pin continue to work anyway.

evazzoler commented 1 year ago

It

Thank you very much, @matjack1 , that also makes the project usable for my puposes now! One minor discovery though: When adding a pin to a RFID id, but requirePinCodeAfterRfid is not set, the card works as is, without requiring a pin. So same behaviour, as if there was no pin added to the account. So is the config field requirePinCodeAfterRfid really required, or shouldn't it be 'always on'? Accounts without pin continue to work anyway.

It is required when a user needs to manage a system with mixed authentication ways.

jw2013 commented 1 year ago

It is required when a user needs to manage a system with mixed authentication ways.

Imho it only works for mixed authentication ways, if the setting requirePinCodeAfterRfid is on: (@matjack1 added empty pin fallback support in https://github.com/esprfid/esp-rfid/pull/551/commits/aba6f43fe8dbd6942be6f34678a5fdf060f80b12)

UID only -> Only card required, no pin needed UID+PIN -> Both card and pin required PIN only -> Only pin required

=> all cases covered

If it's off, then it looks different

UID only -> Only card required, no pin needed UID+PIN -> Only card required, no pin needed PIN only -> Only pin required

=> case card+pin not supported

evazzoler commented 1 year ago

It is required when a user needs to manage a system with mixed authentication ways.

Imho it only works for mixed authentication ways, if the setting requirePinCodeAfterRfid is on: (@matjack1 added empty pin fallback support in aba6f43)

UID only -> Only card required, no pin needed UID+PIN -> Both card and pin required PIN only -> Only pin required

=> all cases covered

If it's off, then it looks different

UID only -> Only card required, no pin needed UID+PIN -> Only card required, no pin needed PIN only -> Only pin required

=> case card+pin not supported

No, I have a mixed system:

And may have a tag with pin or fingerprint with pin mixed to that.

This is the reader https://a.aliexpress.com/_EyaCi2r

jw2013 commented 1 year ago

@evazzoler , if you disable requirePinCodeAfterRfid, does it still require the PIN after the tag? In my case, it only worked correctly when enabled.

Regarding the link to your reader, I can't see the product (Sorry, this item's currently unavailable in your location.). Thank you, EU WEEE :-(

evazzoler commented 1 year ago

@evazzoler , if you disable requirePinCodeAfterRfid, does it still require the PIN after the tag? In my case, it only worked correctly when enabled.

Regarding the link to your reader, I can't see the product (Sorry, this item's currently unavailable in your location.). Thank you, EU WEEE :-(

If you disable it, it don't expect the PIN code

matjack1 commented 1 year ago

@jw2013 what you are saying here:

If it's off, then it looks different

UID only -> Only card required, no pin needed UID+PIN -> Only card required, no pin needed PIN only -> Only pin required

=> case card+pin not supported

it was the intended behavior. The idea is that the flag requires the PIN code after the card is swiped, if the card has the PIN. In this way you can have a system without PIN code, add it to all your users, then require it at some point. Or you can have a mixed system where the two coexist.

I haven't understood what's your use case that is not covered from the current settings?

jw2013 commented 1 year ago

@matjack1 , my point was, that the flag requirePinCodeAfterRfid supports all use cases if set, so I wondered why it remains a config parameter, instead of becoming enabled hard-coded.

I now understand your use case, of adding the PINs over time, then enabling them at once via flag. Thank you very much for your great work!