-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
wiegand No UID in version 11 #14834
Comments
@arendst looks like you worked quite a lot on this one |
I don't Know ... maybe the author of the code may know more, the code is the same but you may Right about the SDK |
Will add it to my list |
Thank You very much Theo for all your amazing work , i know you can fix it :) best regards. |
Verified to fail. Investigating... Seeing |
UPDATE: We removed support for 64-bit numbers. I have to jump through loops to get it back. Hexadecimal does works now. Still thinking about a clean 64-bit decimal output. |
Quick fix for displaying valid 26-bit tags (#14834) 34-bit tags is a challenge as we currently do not support 64-bit variables. To be continued.
Thank you very, very much, I really appreciate your dedication and help in solving this kind of thing |
I just compiled the version with the fix you made, and it works fine. I can indicate the following:
both ways works without activating Setoption123 15:17:54.034 MQT: tele/EMLL_62DE74/SENSOR = {"Time":"2022-02-14T15:17:54","Wiegand":{"UID":688523312,"Size":34}} |
Pls try the same with so123 1 and report the json output. |
This are the codes in the reader card1: 134210877 SetOption123=0 Reader 26bit output, tasmota received: Reader set 34bit output, tasmota received: SetOption123=1 Reader 26bit output, tasmota received: Reader set 34bit output, tasmota received: |
Thx. Nice test. Using your two cards these are the known values: card1: 134210877 = 0x7FFE53D = 27-bit code at least, 32-bit probably (0x07FFE53D) Setting wiegand to 26-bit mode will loose bits resulting in 24-bit data: card1: 134210877 = 0x3FFE53D = 67102013 but you receive only 0xFFE53D = 24-bit = 16770365 Setting wiegand to 34-bit mode should read all bits resulting in 32-bit data: card1: 134210877 = 0x07FFE53D and you receive 134210877 in decimal mode but 0x107FFE53D in hex mode (leading 1) The next issue you encounter is the fact that rule variables cannot handle decimal numbers over 23-bit as numbers are converted to floating point values. So if you want to use rules switch to EDIT: I just dived into the wiegand protocol and see that what is called 26-bits in fact is 24-bit data, 1-bit parity and 1-bit checksum so the noticed 24-bit values are as expected. |
Fix wiegand 34-bit rfid reading and presentation (#14834)
Excellent explanation :D, so the answer, like many things in this cruel world is... use Hexadecimal numbers XD |
Latest change solves the extra bit in the hexadecimal presentation caused by wrong mapping of 34-bit value keeping parity bit into the value. All observed issues should be fixed now. Under the hood I see some opportunities for fixing other issues not relevant to the end result. In short, as the maximum data bit count is 32-bits, I'll rewrite all uint64_t code to uint32_t solving future presentation issues. |
thank you very much theo, the great work and dedication is appreciated |
PROBLEM DESCRIPTION
A clear and concise description of what the problem is.
Wiegand Protocol problem NO UID in version tasmota 11 or 10.1, only works in tasmota 10 in 26bit not 34bit
REQUESTED INFORMATION
Make sure your have performed every step and checked the applicable boxes before submitting your issue. Thank you!
Backlog Template; Module; GPIO 255
:Backlog Rule1; Rule2; Rule3
:Status 0
:weblog
to 4 and then, when you experience your issue, provide the output of the Console log:TO REPRODUCE
Steps to reproduce the behavior:
read a rfid card
EXPECTED BEHAVIOUR
A clear and concise description of what you expected to happen.
%prefix%/%topic%/SENSOR = {"Time":"2021-01-21T16:04:12","Wiegand":{"UID":7723428,"Size":26}}
SCREENSHOTS
If applicable, add screenshots to help explain your problem.
ADDITIONAL CONTEXT
Add any other context about the problem here.
in version tasmota 10 when i use 26bit or 34bit protocol in the reader i receive a UID code for every user
in verion 10.0.1 or 11.0 UID=lu and size= a big number or some time to time just 0
(Please, remember to close the issue when the problem has been addressed)
The text was updated successfully, but these errors were encountered: