M5Stack alarm panel with RFID face to control Home Assistant MQTT alarm panel
This M5Stack Alarm panel uses RFID to disarm the alarm and buttons to arm (away or home) the alarm system.
Communication to Home Assistant is done via MQTT (TLS with authentication). The M5Stack alarm panel is build to be used in combination with the Home Assistant MQTT Alarm Panel
This code uses a secured authenticated TLS connection to an MQTT server. My MQTT broker is secured using a Lets Encrypt certificate. So the Lets encrypted CA is added to the code to verify the validity of the MQTT broker certificate.
So the communication is secured by WPA2, TLS and UserID/password. That should be sufficient for us ordinary people. But bear in mind that it is relative easy to clone an existing RFID token:
- add auto screen brightness by adding an LDR or presence detection (screen on when someone in front) by using a small PIR.
- Make it more secure by using more advanced features from the RFID tokens than just the UID.
- Read valid UID's and names from a textfile of the SPIFFS filesystem.
- Add a master card and RFID learning mode to interactivally add and remove tokens.
- Clean up the Code and make it more robust.
- Add Availablilty topic (LWT and birth messages) so Host can see whenever panels are not online.
- Make it more configureable (e.g. Continous pending beeps are not always enjoyed ;-)).
- Fix the M5ez time problem
- Make a version with keypad face instead of RFID face.