| MQTT daemon | |
|
| |
| The Raspberry Pi Security system | |
| Language | Python |
|---|---|
| Hosts | pi4, pi1 |
| Repository | unspecified |
The Raspberry Pi Security system used to run on Raspberry Pi hardware. Since 2024 it runs on ESP32, but we kept the old name.
PiSec currently comprises several subunits:
Master
[edit | edit source]- Runs on a Lilgyo POE ESP32 board with esphome under the control room console (FX-1.06)
- Collects remote signals from MQTT and Labassistant.
- Displays status on console panel.
- Planned expansion: collect the signals from the window/door contacts on FX-1.
Remote
[edit | edit source]- Runs on a Lilgyo POE ESP32 board with esphome in FX00.32.
- Collects the signals from the window/door contacts on FX00.
- Sends updates via MQTT.
PiSec wireless (2024 addition)
[edit | edit source]Main article: PiSec Wireless
In 2024, the system was expanded to include Xiaomi bluetooth sensors on the doors/windows in FEL4. There are four ESP32-poe boards that listen to bluetooth broadcasts and propagate them to LabAssistant. One is in FX00.52, another is in the suspended ceiling in FX00.50:101-02-07-18 (marked bij sticker ASP), and the other two are on the first floor in the ceiling above the staircase near the freight elevator, and the offices closest to the HFML (both marked by stickers).
System layout
[edit | edit source]Todo: This should be amended to include the PiSec wireless sensors.

Accoustic feedback
[edit | edit source]The buzzer in the console will beep
- Intermittently for 1s when either of the modulators has become ready after warmup
- Continuously for 3s when a modulator turns off
- Intermittently until turned off manually when the Master Key changes from Run to Sweep and one of the windows is still open. (Push "buzzer off" on the console to stop.)
MQTT
[edit | edit source]subscriptions
[edit | edit source]what this daemon depends on and subscribes to
| topic | description |
|---|
statusses
[edit | edit source]what this daemon publishes
| topic | description | values |
|---|---|---|
| test/esp/pisec_master/switch/secure_led/state | all monitored windows/doors in the building are closed? | boolean (ON/OFF) |
| test/esp/pisec_master/binary_sensor/test/state | the test button in the console is pressed | boolean (ON/OFF) |
| test/esp/pisec_remote/binary_sensor/room_left/right/center/state | windows/door is closed? | boolean (ON/OFF) |
| test/esp/pisec_remote/binary_sensor/room/state | all windows/doors in this room are closed? | boolean (ON/OFF) |
commands
[edit | edit source]what this daemon will accept as user commands
| topic | description | accepted values |
|---|---|---|
| building/pisec/refresh | resend all statusses | value does not matter |
| building/pisec/log_level | set log level | string (notset/debug/info/warning/error/critical) or integer (e.g. 20) |
| building/pisec/clients/stop | this topic is for remote shutdown of clients (the daemon itself takes no action) | False to stop clients, True to terminate clients |
