Hi,
I just want to share one of my projects where I crated a way on how to give access to my property for AirBnb Guest with the help of HomeAssistant.
Each time a new guest is about to arrive, I run a script to generate and save a qr-code (encoded random string of numbers and letters) which is also sent to me (so I can send it to the guest) and also the string saved in an input_text helper. Later image_processing from the doorbell camera reads the qr-code which the guest has to show to the camera from their phone. If the QR-Code is the current “created” code (if the de-coded string matches the string in the input_text, it performs predefined actions, in my case opens the gate.
With a newly generated qr-code the “old” one stops working, as the input_text string changes.
The automation could be improved with a condition, based on an calendar entry (so the qr-code can be used only within the timeframe when the guests are visiting.)
I´m using a ESP32-CAM with a wide-angle lens, in a custom made 3D-Printed case.
The ESP has a button which is a “switch” in HASS.
Flashed with tasmota32-webcam.bin
follow up Qs:
are the QR codes one-time use only? This could be a benefit/hindrance.
Have mag stripe/NFC card indoors. The QR code works once to get you in (twice, thrice?), thereafter the card is used to enter and exit.
Why one/few times only? The QR code can be printed off to enter at least once.
Travelers often have dead phones when they arrive at destination. I know, because I am that traveler.
Easy to cofigure it in the automation, that if the QR-Code matches, the gate opens, but also the input_text will be deleted, so the automation cannot be run the second time as the scanned qr-code ≠input_text string.
In my case, the guest can use the QR-Code to open the gate until his stay is over (so more times), or until I generate a new QR-Code.
When the guest is already in the property, the room is unlocked and keys (for the room and also for the entrance) inside, so he can use also only the keys for the time of the stay.
Return of the keys → throw them into the postbox.
My “solution” is intended only for the initial access in order to avoid the “lets meet in person”