No description
  • C++ 82%
  • Shell 12.3%
  • C 5.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-15 16:08:38 +02:00
case improve fit 2026-10-14 16:37:25 +02:00
include add ota 2026-10-01 15:53:27 +02:00
lib add boilerplate code 2025-06-27 11:53:57 +02:00
src add automatic ota flasher 2026-10-15 14:31:31 +02:00
test add boilerplate code 2025-06-27 11:53:57 +02:00
.gitignore add automatic ota flasher 2026-10-15 14:31:31 +02:00
otaAll.sh add sucess and fail output 2026-10-15 16:08:38 +02:00
otaSettings.conf.example add automatic ota flasher 2026-10-15 14:31:31 +02:00
platformio.auth.ini.example add ota 2026-10-01 15:53:27 +02:00
platformio.ini add automatic ota flasher 2026-10-15 14:31:31 +02:00
Readme.md add sucess and fail output 2026-10-15 16:08:38 +02:00

Klingellicht Firmware

Preparation

cp include/credentials.h.example include/credentials.h and change the ssid and wifi pass. Also the ota password.

cp platformio.auth.ini.example platformio.auth.ini change there to the same ota password.

Flashing

For USB: pio run -e usb -t upload

For OTA: pio run -e ota -t upload --upload-port 123.123.123.123

To flash all devices automatically, run otaAll.sh.

MQTT

Klingellicht

To control the light send commands to /clientid/cmd/set.

Commands are:

  • warning: sets warning animation (when the system is out of order).
  • ring: Set light to ringing.
  • ack: When some ack button is pressed. If the clientid matches this lights id, it will show an acknowledgement animation, otherwise the oack animation.
  • nack: Send this when ringing should timeout. Shows nack animation for some time and reverts to idle animation.
  • idle: activate idle animation. Only needed when light was off before.
  • off: turn animation off.

If light is ringing (command ring received and no ack or nack received yet) and button is pressed, device sends ack on /cliendid/cmd/set.

Information

Sends regularly uptime in ms at: /clientid/status/uptime

Sends regularly device information (ip, mac, etc.): /clientid/status/ip, /clientid/status/mac

device information can be requested by sending anything on /clientid/status/request